Sou desenvolvedor de um aplicativo Python GUI. Gostaria que os usuários do meu aplicativo pudessem instalar o aplicativo usando pip porque nem todas as suas dependências foram incluídas no Debian ainda, e não prevejo que essa situação mude tão cedo.
Um PPA seria uma boa idéia, é claro, mas no meu caso isso significaria criar do zero pacotes Debian para pacotes Python que não são meus e envolvem coisas nas quais certamente não tenho habilidade, por exemplo, SWIG.
A próxima melhor alternativa para um PPA é o pip do Python. E funciona muito bem! Todos os melhores conselhos dizem para usar a --user
opção durante a execução pip install
. Os desenvolvedores do pip dizem isso e minha impressão é que o Ubuntu realmente usa isso como padrão.
No entanto, no Ubuntu estou vendo dois problemas ao --user
usar pip
:
- O executável do aplicativo está sendo instalado em
~/.local/bin
, que não está no caminho padrão no Ubuntu, em contraste com o Fedora e possivelmente algumas outras distros. (O setup.py usa setuptools'entry_points
). - Por algum motivo inexplicável, mesmo o
.desktop
arquivo estando em~/.local/share/applications
, o aplicativo não aparece no Dash, mesmo após o logout. Infelizmente, as páginas man instaladas~/.local/share/man/man1
também não aparecem quando o usuário executa man a partir do terminal.
Posso pedir aos usuários do Ubuntu que criem um ~/bin
diretório e adicionem um link simbólico ao meu aplicativo ~/.local/bin
, mas isso não resolverá o problema da página de manual ou a falta de uma maneira de iniciar o aplicativo a partir do Dash.
Como aconselho meus usuários a resolver melhor esses problemas?
O comando exato que estou aconselhando os usuários a instalar épython3 -m pip install --user foo-1.0.tar.gz
Responder1
Depois de conversar com os desenvolvedores do Ubuntu no IRC, meu entendimento agora é que o Ubuntu segue o Debian e adiciona ~/bin ao PATH se a pasta existir. Não há planos de fazer o mesmo para ~/.local/bin. Portanto, o usuário final deve ajustar manualmente seu caminho ou adicionar um link simbólico, etc. Como desenvolvedor de aplicativos, acho que precisarei de um script de instalação especial para usuários do Ubuntu e Debian que faça algumas dessas coisas, o que é uma pena, como Tenho certeza de que isso atinge todos os outros desenvolvedores de aplicativos Python que também dependem do pip.