Forma recomendada de instalar pacotes python no Arch

27

Qual é a maneira recomendada de instalar pacotes python no Arch? Pesquisando por eles no AUR e instalando-os de lá (ou crie um arquivo PKGBUILD para fazer um pacote você mesmo) ou usando pip ?

Eu comecei instalando coisas do pacman e do AUR e não sei se seria sensato misturar com pip packages.

    
por Nils Werner 19.05.2013 / 15:10

5 respostas

27

Se você não precisa dos pacotes python para todos os usuários, pode 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". Geralmente isso é algo como: /home/lesmana/.local/lib/python3.6/site-packages .

O comando a seguir imprimirá, entre outros, o local "site do usuário":

python -m site

Para personalizar o local de instalação:

PYTHONUSERBASE=$HOME/some/dir pip install --user packagename

isso instalará tudo em $HOME/some/dir

para executar:

PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname

Consulte o manual do pip para obter mais informações.

    
por 20.05.2013 / 02:07
7

Normalmente, em uma distribuição, é recomendável usar o gerenciador de pacotes da distribuição. É claro que você pode instalar coisas usando pip (ou, no mundo do perl, cpan), ou compilar e instalar as coisas sozinho. No entanto, quando você faz isso, o gerenciador de pacotes da distribuição não sabe sobre eles e não pode gerenciar dependências ou atualizações para eles.

O uso de 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.

    
por 19.05.2013 / 19:24
4

Para certos pacotes (aqueles que eu provavelmente não quero hackear), eu faço meu próprio pacote usando isto:

link

depois construa e instale o PKGBUILD produzido.

Deixo virtualenvs para pacotes que eu possa querer modificar ou hackear.

    
por 01.02.2015 / 03:40
2

O caminho certo para o ArchLinux

O jeito certo de instalar os pacotes PYTHON no ArchLinux é usando o PACMAN! Para instalar pacotes no Python3, você precisa usar

sudo pacman -S python-'package'

Se você deseja instalar pacotes do Python2, você precisa usar

sudo pacman -S python2-'package'

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 estes pacotes você tem que baixar o arquivo PKGBUILD e compilar. Depois disso, você tem que usar o PACMAN para concluir a instalação

makepkg -s
sudo pacman -U 'compiled-package'

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

sudo pip install 'python-package'

ou Python2

sudo pip2 install 'python-package'

Você pode dar uma chance para virtualenv ou mesmo conda

No Arch, você também pode usar VirtualEnvironments. Isso pode trazer portabilidade para o seu código e manter pacotes antigos também. Instale-o com

sudo pacman -S python-virtualenv

e tente isso

virtualenv -p /usr/bin/python3 yourenv
source yourenv/bin/activate
pip install package-name

Quando você criar este ambiente yourenv , você configurará pip para instalar pacotes somente neste 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 ou virtualenv :

Instalando pacotes Python de um notebook Jupyter

Código Python no ArchLinux

Se você seguir estas regras, o seu ArchLinux não irá quebrar e não terá problemas de dependência entre o PACMAN e o PIP.

Espero que seja útil!

    
por 09.05.2018 / 16:26
1

Além das outras respostas aqui, confira o pacote python-virtualenv . Pode ser muito útil se você estiver desenvolvendo vários projetos com diferentes dependências com números de versão incompatíveis.

link

Tenha também em atenção 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.

    
por 24.06.2014 / 04:11