Si no necesita los paquetes de Python para todos los usuarios, puede instalarlos en su hogar de esta manera:
pip install --user packagename
La instalación en su hogar no entrará en conflicto con el administrador de paquetes.
Por defecto pip install --user
se instalará en su directorio "sitio de usuario". Por lo general, es decir algo como: /home/lesmana/.local/lib/python3.6/site-packages
.
El siguiente comando imprimirá, entre otros, la ubicación de su "sitio de usuario":
python -m site
Para personalizar la ubicación de instalación:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
esto instalará todo debajo $HOME/some/dir
correr:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
Consulte el manual de pip para obtener más información.
Si desea el paquete de Python para todos los usuarios, entonces el mejor lugar para instalarlo es /opt
. por ejemplo así:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(tenga en cuenta lo que falta --user
)
y correr, como arriba:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
Explicación de antecedentes: las /opt
distribuciones gnu / linux lo reconocen comúnmente como el directorio donde el usuario local o el administrador del sistema pueden instalar sus propias cosas. en otras palabras: el administrador de paquetes de distribuciones generalmente no se toca /opt
. esto está más o menos estandarizado en el Estándar de jerarquía del sistema de archivos
Para comodidad de los usuarios, aún querrá escribir un script de envoltura y colocarlo en /bin
o /usr/bin
. Esto todavía conlleva el riesgo de colisionar con el administrador de paquetes de distribución, pero al menos es solo un archivo de script de contenedor. Entonces, el daño que podría hacerse es mínimo. Puede nombrar el script de envoltura de forma similar local-foo
o custom-foo
para minimizar aún más el riesgo de colisión con el administrador de paquetes de distribución.
Alternativamente, puede modificar PATH
para incluir /opt/bin
y colocar su script de contenedor allí. Pero esto nuevamente requiere que modifique un (o algunos) archivos del sistema donde PATH
está definido, lo que nuevamente puede ser sobrescrito por el administrador del paquete de distribución.
En resumen: si desea instalar para todos los usuarios, hágalo /opt
. Donde coloque el script de envoltura para mayor comodidad es una decisión de juicio.
Más información sobre el /opt
estándar de jerarquía del sistema de archivos:
python
y deseo haberlo sabido antessudio
de hacer cosas. Gracias por esto.Por lo general, en una distribución, se recomienda que use el administrador de paquetes de la distribución. Por supuesto, puede instalar cosas usando pip (o, en el mundo perl, cpan), o compilar e instalar cosas usted mismo. Sin embargo, cuando hace esto, el administrador de paquetes de la distribución no los conoce y no puede administrar dependencias o actualizaciones para ellos.
Usar pip es prácticamente equivalente a compilar e instalar su propio paquete. Hágalo si lo necesita, pero prefiera el administrador de paquetes de la distribución.
fuente
pip
(al menos globalmente a través desudo
o como root): acabo de recibir algunossite-package/...
errores que ya existen cuandopacman
traté de instalar algunas dependenciasEl camino correcto para ArchLinux
¡La forma correcta de instalar paquetes PYTHON en ArchLinux es usando PACMAN! Para instalar paquetes en Python3 tienes que usar
Si desea instalar paquetes desde Python2, debe usar
La mayoría de los paquetes de Python están en los repositorios de ArchLinux y los paquetes que no están en AUR (Repositorios de usuarios de ArchLinux): para estos paquetes, debe descargar el archivo PKGBUILD y compilarlo. Después de eso, debe usar PACMAN para finalizar la instalación
La segunda forma correcta para ArchLinux
Cuando el paquete no está en el AUR o el PKGBUILD no funciona, puede usar PIP para instalarlo en Python3
o Python2
Podrías dar una oportunidad
virtualenv
o inclusoconda
En Arch también puede usar entornos virtuales. Esto puede aportar portabilidad a su código y también mantener paquetes antiguos. Instalarlo con
y prueba esto
Cuando cree este entorno
yourenv
, configurarápip
para instalar paquetes solo en este entorno, no en todo el sistema.Estos otros enlaces pueden ser útiles si desea obtener más información sobre la administración de paquetes en Linux con
conda
ovirtualenv
:Instalación de paquetes de Python desde un cuaderno Jupyter
Code Python en ArchLinux
Si sigue estas reglas, su ArchLinux no se romperá y no tendrá problemas de dependencia entre PACMAN y PIP.
Espero que sea útil!
fuente
Para ciertos paquetes (los que probablemente no quiero hackear), hago mi propio paquete usando esto:
https://github.com/bluepeppers/pip2arch
luego compile e instale el PKGBUILD producido.
Dejo virtualenvs para paquetes que podría querer modificar o piratear.
fuente
Además de las otras respuestas aquí, consulte el
python-virtualenv
paquete. Puede ser muy útil si está desarrollando varios proyectos con diferentes dependencias con números de versión que no coinciden.https://wiki.archlinux.org/index.php/Python_VirtualEnv
También tenga en cuenta que hay dos variantes de pip y virtualenv. Uno para Python 2 y otro para Python 3. Si la instalación falla con un error de sintaxis, es posible que esté intentando con la versión incorrecta.
fuente