Usando Pip para instalar paquetes en el entorno Anaconda

Resuelto jeffery_the_wind asked hace 7 años • 21 respuestas

conda 4.2.13 MacOSX 10.12.1

Estoy intentando instalar paquetes desde pipun entorno nuevo (virtual) creado con anaconda. En los documentos de Anaconda dice que esto está perfectamente bien. Se hace de la misma manera que para virtualenv.

Active el entorno donde desea colocar el programa, luego instale un programa...

Creé un entorno vacío en Ananconda como este:

conda create -n shrink_venv

Actívalo:

source activate shrink_venv

Luego puedo ver en la terminal que estoy trabajando en mi entorno (shrink_venv). El problema surge cuando intento instalar un paquete usando pip:

(shrink_venv): pip install Pillow

Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages

Entonces puedo ver que cree que el requisito se cumple con el paquete de todo el sistema. Entonces parece que el entorno no funciona correctamente, definitivamente no como se dice en los documentos. ¿Estoy haciendo algo mal aquí?

Solo una nota, sé que puedes usarlo conda installpara los paquetes, pero tuve un problema con Pillow de anaconda, así que quería obtenerlo de pip, y como los documentos dicen que está bien.

Salida de which -a pip:

/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip

ACTUALIZAR

Veo que este es un problema bastante común. Lo que descubrí es que conda env no funciona bien con PYTHONPATH. El sistema parece buscar siempre las PYTHONPATHubicaciones incluso cuando se utiliza un entorno conda. Ahora siempre ejecuto unset PYTHONPATHcuando uso un entorno conda y funciona mucho mejor. Estoy en una mac.

jeffery_the_wind avatar Dec 09 '16 19:12 jeffery_the_wind
Aceptado

Para otros que se encuentran con esta situación, encontré que esta es la solución más sencilla:

  1. Ejecute conda create -n venv_namey conda activate venv_name, donde venv_nameestá el nombre de su entorno virtual.

  2. Correr conda install pip. Esto instalará pip en su directorio venv.

  3. Busque su directorio anaconda y busque la carpeta venv real. Debería estar en algún lugar como /anaconda/envs/venv_name/.

  4. Instale nuevos paquetes haciendo /anaconda/envs/venv_name/bin/pip install package_name.

¡Esto ahora debería instalar paquetes exitosamente usando el pip de ese entorno virtual!

Deem avatar May 02 '2017 03:05 Deem

Resolví este problema de la siguiente manera:

Si tiene un pip que no es Conda como su pip predeterminado pero Conda Python es su Python predeterminado (como se muestra a continuación)

>which -a pip
/home/<user>/.local/bin/pip   
/home/<user>/.conda/envs/newenv/bin/pip
/usr/bin/pip

>which -a python
/home/<user>/.conda/envs/newenv/bin/python
/usr/bin/python

Luego, en lugar de simplemente llamar pip install <package>, puede usar el indicador del módulo -mcon Python para que use Anaconda Python para la instalación.

python -m pip install <package>

Esto instala el paquete en el directorio de la biblioteca anaconda en lugar del directorio de la biblioteca asociado con pip (que no es anaconda).

EDITAR: la razón por la que esto funciona es la siguiente:

El comando piphace referencia a un archivo pip/acceso directo específico ( which -a piple indica cuál). De manera similar, el comando pythonhace referencia a un archivo Python específico ( which -a pythonle indica cuál). Por una razón u otra, estos dos comandos pueden no estar sincronizados, de modo que su pip 'predeterminado' esté en una carpeta diferente a su Python predeterminado y, por lo tanto, esté asociado con una versión diferente de Python.

Por el contrario, la python -m pipconstrucción no utiliza el acceso directo al que pipapunta el comando. En cambio, le pide a Python que encuentre su versión de pip y la use para instalar un paquete.

alex_danielssen avatar Jul 04 '2019 14:07 alex_danielssen

Todo lo que tienes que hacer es abrir Anaconda Prompt y escribir

pip install package-name

Se instalará automáticamente en el entorno anaconda sin tener que usar

conda install package-name

Dado que algunos de los paquetes de conda pueden carecer de soporte con el tiempo, es necesario instalarlos usando pip y esta es una forma de hacerlo.

Si tiene pip instalado en anaconda, puede ejecutar lo siguiente en jupyter notebook o en su shell de Python que está vinculado a anaconda

pip.main(['install', 'package-name'])

Verifique su versión de pip con pip.__version__. Si es una versión 10.x.xo superior, instale su paquete de Python con esta línea de código

subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'package-name'])

En su cuaderno Jupyter, puede instalar paquetes de Python a través de pip en una celda de esta manera;

!pip install package-name

o podrías usar tu versión de Python asociada con anaconda

!python3.6 -m pip install package-name
sambeth avatar May 19 '2017 09:05 sambeth