Se você não precisar dos pacotes python para todos os usuários, poderá instalá-los em sua casa assim:
pip install --user packagename
A instalação em sua casa não entrará em conflito com o gerenciador de pacotes.
Por padrão, pip install --user
será instalado no diretório "site do usuário". Normalmente, isso é algo como: /home/lesmana/.local/lib/python3.6/site-packages
.
O comando a seguir imprimirá, entre outros, o local do "site do usuário":
python -m site
Para personalizar o local da instalação:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
isso instalará tudo sob $HOME/some/dir
para correr:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
Consulte o manual do pip para obter mais informações.
se você deseja o pacote python para todos os usuários, o melhor local para instalá-lo é /opt
. por exemplo, assim:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(observe a falta --user
)
e para executar, como acima:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
Explicação em segundo plano: /opt
é geralmente reconhecido pelas distribuições gnu / linux como o diretório em que o usuário local ou o administrador do sistema pode instalar seus próprios itens. em outras palavras: o gerenciador de pacotes das distribuições geralmente não toca /opt
. isso é mais ou menos padronizado no padrão de hierarquia do sistema de arquivos
Para maior conforto dos usuários, você ainda precisará escrever um script de wrapper e colocá-lo em /bin
ou /usr/bin
. Isso ainda corre o risco de colidir com o gerenciador de pacotes de distribuição, mas pelo menos é apenas um arquivo de script do wrapper. Portanto, o dano que pode ser causado é mínimo. Você pode nomear o script do wrapper como algo semelhante local-foo
ou custom-foo
para minimizar ainda mais o risco de colisão com o gerenciador de pacotes de distribuição.
Como alternativa, você pode modificar PATH
para incluir /opt/bin
e colocar seu script de wrapper lá. Mas isso novamente exige que você modifique um (ou alguns) arquivos do sistema onde PATH
é definido, que novamente pode ser substituído pelo gerenciador de pacotes de distribuição.
Em resumo: se você deseja instalar para todos os usuários, faça-o no /opt
. Onde você coloca o script do wrapper para maior conforto é uma chamada de julgamento.
Mais informações sobre /opt
e Standard Hierarchy System: