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:
python
e gostaria de saber isso antes de fazersudio
pip-ping. Obrigado por isso.Normalmente, em uma distribuição, é recomendável usar o gerenciador de pacotes da distribuição. Obviamente, você pode instalar coisas usando pip (ou, no mundo perl, cpan) ou compilar e instalar você mesmo. No entanto, quando você faz isso, o gerenciador de pacotes da distribuição não os conhece e não pode gerenciar dependências ou atualizações para eles.
Usar pip é praticamente equivalente a compilar e instalar seu próprio pacote. Faça isso se precisar, mas prefira o gerenciador de pacotes da distribuição.
fonte
pip
(pelo menos globalmente viasudo
ou como root) - Eu só tenho algumsite-package/...
já existe erros quandopacman
tentou instalar algumas dependênciasO caminho certo para o ArchLinux
A maneira correta de instalar pacotes PYTHON no ArchLinux é usando o PACMAN! Para instalar pacotes no Python3, você precisa usar
Se você quiser instalar pacotes do Python2, precisará usar
A maioria dos pacotes python estão nos repositórios do ArchLinux e os pacotes que não estão no AUR (ArchLinux User Repositories) - para esses pacotes, é necessário fazer o download do arquivo PKGBUILD e compilar. Depois disso, você deve usar o PACMAN para concluir a instalação
O segundo caminho certo para o ArchLinux
Quando o pacote não está no AUR ou o PKGBUILD não está funcionando, você pode usar o PIP para instalá-lo no Python3
ou Python2
Você poderia dar uma chance
virtualenv
ou atéconda
No Arch, você também pode usar os VirtualEnvironments. Isso pode trazer portabilidade para o seu código e manter pacotes antigos também. Instale-o com
e tente isso
Ao criar esse ambiente
yourenv
, você configurarápip
para instalar pacotes somente nesse ambiente, não em todo o sistema.Esses outros links podem ser úteis para você aprender mais sobre o gerenciamento de pacotes no Linux com
conda
ouvirtualenv
:Instalando pacotes Python a partir de um notebook Jupyter
Código Python no ArchLinux
Se você seguir estas regras, o ArchLinux não quebrará e não terá problemas de dependência entre o PACMAN e o PIP.
Espero que seja útil!
fonte
Para certos pacotes (aqueles que eu provavelmente não quero invadir), eu faço meu próprio pacote usando isto:
https://github.com/bluepeppers/pip2arch
em seguida, crie e instale o PKGBUILD produzido.
Deixo virtualenvs para pacotes que talvez queira modificar ou invadir.
fonte
Além das outras respostas aqui, confira o
python-virtualenv
pacote. Pode ser muito útil se você estiver desenvolvendo vários projetos com diferentes dependências e com números de versão incompatíveis.https://wiki.archlinux.org/index.php/Python_VirtualEnv
Lembre-se também de que existem duas variantes de pip e virtualenv. Um para o Python 2 e outro para o Python 3. Se a instalação falhar com um erro de sintaxe, você pode estar tentando com a versão errada.
fonte