Cómo instalar bibliotecas de Python en entornos específicos

Tengo dos instalaciones de Anaconda en mi computadora. El primero se basa en Python 2.7 y el otro se basa en Python 3.4. Sin embargo, la versión predeterminada de Python es la 3.4. Además, puedo iniciar Python 3.4 ya sea escribiendo /home/eualin/.bin/anaconda3/bin/python o simplemente python . Puedo hacer lo mismo pero para Python 2.7 escribiendo /home/eualin/.bin/anaconda2/bin/python . Mi problema es que no sé cómo instalar nuevas bibliotecas en ciertos entornos (ya sea en Python 2.7 o Python 3.4). Por ejemplo, cuando hago una instalación pip pipa en el mar, la biblioteca se instala bajo Python 3.4 de forma predeterminada cuando, de hecho, quiero instalarla bajo Python 2.7. ¿Algunas ideas?

EDITAR

Esto es lo que estoy haciendo hasta ahora: el archivo ~ / .bashrc contiene los siguientes dos bloques, de los cuales solo uno está habilitado en un momento dado.

# added by Anaconda 2.1.0 installer export PATH="/home/eualin/.bin/anaconda2/bin:$PATH" # added by Anaconda3 2.1.0 installer #export PATH="/home/eualin/.bin/anaconda3/bin:$PATH" 

Dependiendo de la versión en la que quiera trabajar, abro el archivo, comento el bloque opuesto y hago source ~/.bashrc Luego instalo las bibliotecas que quiero usar una por una. Pero, ¿es esta la forma recomendada?

No necesita múltiples distribuciones de anaconda para diferentes versiones de python. Sugeriría mantener solo uno.

Básicamente, conda permite crear entornos para sus diferentes necesidades.

conda create -n myenv python=3.3 crea un nuevo entorno llamado myenv , que funciona con un intérprete de python3.3.

source activate myenv cambia al entorno recién creado. Básicamente, esto establece el PATH tal que los conda pip , conda , python y otros apuntan al entorno e intérprete correctos.

conda install pip es lo primero que debes hacer. Luego puede usar pip y conda para instalar los paquetes que necesita.

Después de activar el entorno, pip install apuntará a la versión correcta de pip por lo que no tendrá que preocuparse demasiado.

Es posible que desee crear entornos para diferentes versiones de Python o diferentes conjuntos de paquetes. Por supuesto, puede cambiar fácilmente entre esos entornos utilizando la source activate .

Para obtener más ejemplos y detalles, puede consultar los documentos .

Virtualenv parece ser la respuesta obvia aquí, pero quiero sugerir una alternativa que hemos estado usando con gran éxito últimamente: Fig . Esto es particularmente efectivo ya que también usamos Docker en la producción, pero me imagino que usar Fig como un El reemplazo de virtualenv sería bastante efectivo independientemente de su entorno de producción.

Usar virtualenv es su mejor opción como lo mencionó @Dettorer.

He encontrado este método de instalación y uso de virtualenv el más útil. Echale un vistazo:

Manera adecuada de instalar virtualenv