¿Cuál es la mejor manera de instalar paquetes de Python en Ubuntu 11? Soy un converso reciente a Ubuntu y quiero aprender las mejores prácticas.
Por contexto, estoy buscando instalar el paquete tweeststream, pero no lo vi en mi administrador de paquetes Synaptic. Además, soy muy nuevo en programación, pero generalmente puedo seguir junto con ejemplos de código.
Respuestas:
Creo que la mejor manera para usted sería instalar el sistema de empaquetado de Python como "python-pip". Puede instalarlo con Synaptic o Ubuntu Software Center.
Pip le permitirá instalar y desinstalar fácilmente paquetes de Python, simplemente como
pip install package
. En su caso, sería algo así desde la terminal:fuente
sudo pip <anything>
debe usarse con mucho cuidado. Comotweetstream
no está en el Centro de software de Ubuntu , recomiendo usar un virtualenv . tweetstreamsetup.py
requiereanyjson
que sea un paquete de Ubuntu . No instalar tweetstream en unvirtualenv
puede causar que otras aplicaciones de Ubuntu que dependenanyjson
de fallar. Solucionar problemas difíciles.sudo pip
en Ubuntu. @ MarkMikofski: no necesita virtualenv (a menos que lo desee por alguna razón específica).python -mpip install --user package-name
puede instalar el paquetepackafe-name
para el usuario actual. Si hay dependencias complejas (extensiones C grandes); puede instalarlos usandoapt-get
, para evitar instalar dependencias de compilación a menos que sea necesario.actualizado: 2019-05-11: Esta publicación menciona principalmente
virtualenv
, pero de acuerdo con el documento de Python sobre la instalación del módulo , ya que Python 3.5 "venv
ahora se recomienda el uso para crear entornos virtuales", mientras quevirtualenv
es una alternativa para las versiones de Python anteriores a 3.4 .actualizado: 2018-08-17: desde conda-4.4.0 uso
conda
paraactivate
anaconda en todas las plataformasactualizado: 2017-03-27: PEP 513 -
manylinux
binarios para PyPIactualizado: 2016-08-19: Opción de Anaconda Continua
Esto es algo duplicado de easy_install / pip o apt-get .
Para paquetes globales de Python, use el Centro de software de Ubuntu, apt, apt-get o synaptic
Ubuntu usa Python para muchas funciones importantes, por lo tanto, interferir con Python puede dañar su sistema operativo. Esta es la razón principal por la que nunca uso
pip
en mi sistema Ubuntu, pero en lugar de eso utilice cualquiera de Ubuntu Software Center, sináptica ,apt-get
o la más reciente simplementeapt
, que todo por defecto instalar paquetes desde el repositorio de Ubuntu . Estos paquetes se prueban, generalmente precompilados para que se instalen más rápido y, en última instancia, estén diseñados para Ubuntu. Además, todas las dependencias requeridas también se instalan y se mantiene un registro de las instalaciones para que puedan revertirse. Creo que la mayoría de los paquetes tienen repositorios de Launchpad correspondientes para que pueda archivar problemas.Otra razón para usar cualquiera de los paquetes de Ubuntu es que a veces estos paquetes de Python tienen diferentes nombres dependiendo de dónde los descargó. Python-chardet es un ejemplo de un paquete que en un momento se denominó una cosa en PyPI y otra en el repositorio de Ubuntu. Por lo tanto, hacer algo así
pip install requests
no se dará cuenta de que Chardet ya está instalado en su sistema porque la versión de Ubuntu tiene un nombre diferente y, en consecuencia, instale una nueva versión que dañará su sistema de una manera insignificante pero aún así, ¿por qué haría eso?En general, solo desea instalar código de confianza en su sistema operativo. Entonces deberías estar nervioso por escribir
$ sudo pip <anything-could-be-very-bad>
.Por último, algunas cosas son más fáciles de instalar usando cualquiera de los paquetes de Ubuntu. Por ejemplo, si intenta
pip install numpy
instalar numpy & scipy a menos que ya haya instalado gfortran, atlas-dev, blas-dev y lapack-dev, verá un flujo interminable de errores de compilación. Sin embargo, instalar numpy & scipy a través del repositorio de Ubuntu es tan fácil como ...Estás de suerte, porque estás usando Ubuntu, una de las distribuciones más actualizadas y con mayor soporte existente. Lo más probable es que cada paquete de Python que necesite esté en el repositorio de Ubuntu, y probablemente ya esté instalado en su máquina. Y cada 6 meses, se lanzará un nuevo ciclo de paquetes con la última distribución de Ubuntu.
Si está 100% seguro de que el paquete no interferirá con su sistema Ubuntu de ninguna manera, puede instalarlo usando pip y Ubuntu es lo suficientemente agradable como para mantener estos paquetes separados de los paquetes de distribución colocando los paquetes de distribución en una carpeta llamada
dist-packages/
. El repositorio de Ubuntu tiene pip, virtualenv y setuptools. Sin embargo, secundo la sugerencia de Wojciech de usar virtualenv.Para proyectos personales de Python, use pip and wheel en virtualenv
Si necesita la última versión, o el módulo no está en el repositorio de Ubuntu, inicie virtualenv y use pip para instalar el paquete. Aunque pip y setuptools se han fusionado, se prefiere pip IMO en lugar de instalación fácil o distutils, porque siempre esperará hasta que el paquete se descargue y compile completamente antes de copiarlo en su sistema de archivos, y hace que la actualización o desinstalación sea muy fácil. En muchos sentidos, es similar a apt-get, ya que generalmente maneja bien las dependencias. Sin embargo, usted
sepuede tener para manejar algunas dependencias a sí mismo, pero desde PEP 513 fue adoptado en la actualidad haymanylinux
binarios en el índice de paquetes de Python (PyPI) para distribuciones de Linux populares como Ubuntu y Fedora .por ejemplo, como se mencionó anteriormente para NumPy y SciPy, asegúrese de haber instalado gfortran, atlas-dev, blas-dev y lapack-dev desde el repositorio de UbuntuPor ejemplo, tanto NumPy como SciPy ahora se distribuyen para Ubuntu comomanylinux
ruedas por defecto usando OpenBLAS en su lugar de ATLAS. Todavía puede construirlos desde el origen utilizando las opciones de pip--no-use-wheel
o--no-binary <format control>
.Consulte la siguiente sección, "No está en
sudoers
", a continuación para instalar versiones actualizadas de pip, setuptools, virtualenv o wheels en su perfil personal utilizando el--user
esquema de instalación con pip. Puede usar esto para actualizar pip para su uso personal como JF Sebastian indicó en su comentario a otra respuesta . NOTA:-m
realmente solo es necesario en MS Windows cuando se actualiza pip .Las versiones más nuevas de pip almacenan automáticamente en caché las ruedas, por lo que lo siguiente solo es útil para versiones anteriores de pip. Como puede terminar instalando estas muchas veces, considere usar la rueda con pip para crear una caseta de gobierno. La rueda ya está incluida
virtualenv
desde la versión 13.0.0, por lo tanto, si su versión devirtualenv
es demasiado antigua, es posible que primero deba instalarla.Esto creará archivos de rueda binarios
<cwd>/wheelhouse
, use-d
para especificar un directorio diferente. Ahora, si inicia otro virtualenv y necesita los mismos paquetes que ya ha creado, puede instalarlos desde su timonera utilizandopip install --find-links=<fullpath>/wheelhouse
Lea Instalación de módulos de Python en la documentación de Python e Instalación de paquetes en la página principal del índice de paquetes de Python . También pip , venv , virtualenv y wheel .
Si no estás dentro
sudoers
yvirtualenv
no está instalado.Otra opción para el uso de un entorno virtual, o si está utilizando una cuota de Linux sin privilegios de root, a continuación, utilizando ya sea el
--user
o la--home=<wherever-you-want>
instalación de Python esquemas con Pythondistutils
va a instalar los paquetes con el valor desite.USERBASE
o al lugar que desee. Las versiones más recientes de pip también tienen una--user
opción. No lo usesudo
!Si su versión de Linux de pip es demasiado antigua, puede pasar las opciones de configuración mediante la
--install-option
cual es útil para pasar opciones personalizadas a algunossetup.py
scripts para algunos paquetes que crean extensiones, como la configuración dePREFIX
. Es posible que deba extraer la distribución y usarladistutils
para instalar el paquete a la antigua usanza escribiendopython setup install [options]
. Leer algo de la documentación de instalación y ladistutils
documentación puede ayudar.Python es lo suficientemente agradable como para agregarle
site.USERBASE
a ustedPYTHONPATH
por delante de cualquier otra cosa, por lo que los cambios solo lo afectarán. Un lugar popular para--home
es~/.local
. Consulte la guía de instalación del módulo Python para conocer la estructura exacta del archivo y específicamente dónde están los paquetes de su sitio. Nota : si se utiliza el--home
esquema de instalación a continuación, puede que tenga que añadirlo a laPYTHONPATH
variable de entorno utilizandoexport
en su.bashrc
,.bash_profile
o en su cáscara para sus paquetes localizados a estar disponible en Python.Utilice Python continuo de Anaconda para matemáticas, ciencias, datos o proyectos personales
Si está utilizando Python para matemáticas, ciencias o datos, entonces IMO, una muy buena opción es la distribución Anaconda-Python o la distribución miniconda más básica lanzada por Anaconda, Inc. (anteriormente conocida como Continuum Analytics ) . Aunque cualquiera podría beneficiarse del uso de Anaconda para proyectos personales, la instalación predeterminada incluye más de 500 paquetes de matemáticas y ciencias como NumPy, SciPy, Pandas y Matplotlib , mientras que miniconda solo instala Anaconda-Python y el administrador de entorno de conda. Anaconda solo se instala en su perfil personal, es decir ,
/home/<user>/
yaltera su rutafuente recomendada~/.bashrc
o la~/.bash_profile
de anteponer el camino de Anaconda a su$PATH
personalconda.sh
en su~/.bashrc
que le permite utilizarconda activate <env|default is base>
para iniciar Anaconda - esto sólo afecta a usted - la ruta del sistema no se ha modificado . ¡Por losudo
tanto , no necesita acceso de root ni usar Anaconda! Si ya ha agregado Anaconda-Python, miniconda o conda a su ruta personal, debe eliminar laPATH
exportación de su~/.bashrc
y actualizar a la nueva recomendación , por lo que su sistema Python será el primero nuevamente.Esto es algo similar a la
--user
opción que expliqué en la última sección, excepto que se aplica a Python en su conjunto y no solo a los paquetes. Por lo tanto, Anaconda está completamente separada de su sistema Python , no interferirá con su sistema Python, y solo usted puede usarlo o cambiarlo. Dado que instala una nueva versión de Python y todas sus bibliotecas, necesitará al menos 200 MB de espacio, pero es muy inteligente sobre el almacenamiento en caché y la administración de bibliotecas, lo cual es importante para algunas de las cosas interesantes que puede hacer con Anaconda.Anaconda cura una colección de binarios y bibliotecas de Python requeridas por las dependencias en un repositorio en línea (anteriormente llamado binstar ) , y también alojan paquetes de usuarios como diferentes "canales". El administrador de paquetes utilizado por Anaconda,
conda
por defecto instala paquetes de Anaconda, pero puede señalar un "canal" diferente usando la-c
opción.Instalar paquetes con
conda
solo comopip
:¡Pero
conda
puede hacer mucho más! También puede crear y administrar entornos virtuales al igual quevirtualenv
. Por lo tanto, dado que Anaconda crea entornos virtuales, elpip
administrador de paquetes se puede usar para instalar paquetes desde PyPI en un entorno de Anaconda sin root osudo
. ¡No lo usesudo
con Anaconda! ¡Advertencia! Sin embargo, tenga cuidado al mezclarpip
yconda
en un entorno Anaconda, b / c tendrá que administrar las dependencias del paquete con más cuidado. Otra opción parapip
en un entorno conda es usar el canal conda-forge, pero también es mejor hacerlo en un entorno conda nuevo con conda-forge como canal predeterminado. Como último recurso, si no puede encontrar un paquete en otro lugar que no sea PyPI, considere usarlo e--no-deps
instale las dependencias restantes manualmenteconda
.Anaconda también es similar en algunos aspectos a Ruby RVM si está familiarizado con esa herramienta. Anaconda
conda
también te permite crear entornos virtuales con diferentes versiones de Python . por ejemplo :conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
creará una pila científica / ciencia de datos usando Python-3.5 en un nuevo entorno llamadopy35sci
. Puede cambiar entornos utilizandoconda
. Desde conda-4.4.0, esto ahora es diferente avirtualenv
que utilizasource venv/bin/activate
, pero anterior a conda-4.4.0 losconda
comandos eran el mismo comovirtualenv
y también se utilizasource
:¡Pero espera hay mas! Anaconda también puede instalar diferentes lenguajes como R para programación estadística desde el canal Anaconda
r
. Incluso puede configurar su propio canal para cargar distribuciones de paquetes creadas para conda . Como se mencionó, conda-forge mantiene compilaciones automatizadas de muchos de los paquetes en PyPI en el canal Anaconda de conda-forge .Epílogo
Hay muchas opciones para mantener sus proyectos de Python en Linux dependiendo de sus necesidades personales y acceso. Sin embargo, si hay algo que espero que saque de esta respuesta es que casi nunca debería necesitar usar
sudo
para instalar paquetes de Python . El uso desudo
debe ser un olor que algo anda mal. Usted ha sido advertido.¡Buena suerte y feliz codificación!
fuente
sudo
ing conpip
. Gran redacción, gracias por esta información.pip install numpy
debería instalar todas las dependenciaspip install <package>
solo instalará las dependencias del paquete Python que figuran en lainstall_requires
sección desetup.py
. Por ejemplo: la instalación de Jupyter no instalará la biblioteca de Haskell pandoc para exportar portátiles Jupyter como LaTeX, etc.conda install <package>
probablemente instalará todas las dependencias, incluidas C / C ++, FORTRAN, etc., incluso las bibliotecas Haskell, porque conda no solo administra los paquetes de Python como pip, sino que también administra los entornos. Entonces, si tenía Anaconda o miniconda,conda install Jupyter
instala todo en el archivo de la recetameta.yml
, incluida la biblioteca pandoc Haskell . Para más información ver PyPAAdemás de la incorporación de Novarchibald, generalmente es una buena idea crear un entorno virtual para su proyecto de Python e instalar dependencias en su interior. Esto le permite tener un mejor control sobre las dependencias y sus versiones. Para configurar un entorno virtual, ingrese:
Luego, actívelo con:
En este punto, todo lo que instale con pip se mantendrá dentro de este entorno virtual. Si desea instalar algo globalmente, primero debe salir de virtualenv con:
Puede encontrar más información sobre virtualenv aquí .
fuente
virtualenv
opciones--no-site-packages
y--distribute
están en desuso hoy en día y ya no tienen efecto.Además de la respuesta de Zetah'a, el comando para instalar python-pip desde la terminal es:
fuente
Pruebe esto Un marco GUI para PIP desarrollado usando PyQt4
Un marco GUI para PIP desarrollado usando PyQt4
La pantalla de inicio
La pantalla de inicio contiene opciones para que un usuario seleccione el proceso que desea llevar a cabo.
También se puede especificar la versión de python en la que desea que se realicen las operaciones.
El menú de archivo tiene una opción para "Salir" (acceso directo: Ctrl + Q) y "Actualizar listas" que actualiza los archivos de recursos que contienen datos del paquete.
La pantalla de instalación
La pantalla de instalación tiene una barra de búsqueda que el usuario puede usar para buscar e instalar los paquetes deseados.
La pantalla de actualización
La pantalla de actualización muestra la lista de paquetes que están desactualizados y se pueden actualizar.
El desinstalar Screem
La pantalla de desinstalación muestra la lista de paquetes que están instalados en el sistema del usuario y se pueden desinstalar.
La ventana de progreso
La ventana de progreso es un widget de terminal incorporado para PIP-GUI que muestra los procesos que se ejecutan mientras se realizan las operaciones.
fuente