Usar pip3
para instalar un paquete en a virtualenv
hace que el paquete se instale en la carpeta global site-packages en lugar de en la carpeta virtualenv. Así es como configuré Python3 y virtualenv en OS X Mavericks (10.9.1):
Instalé Python3 usando Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
Cambió la $PATH
variable en .bash_profile
; agregó la siguiente línea:
export PATH=/usr/local/bin:$PATH
Correr which python3
regresa /usr/local/bin/python3
(después de reiniciar el shell).
Nota: which python3
todavía regresa / usr/bin/python
aunque.
Instalado virtualenv
usando pip3
:
pip3 install virtualenv
A continuación, cree uno nuevo virtualenv
y actívelo:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
Nota: si no especifico -p python3, pip faltará en la carpeta bin en virtualenv.
Ejecutando which pip
y which pip3
ambos devuelven la carpeta virtualenv:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
Ahora, cuando intento instalar, por ejemplo, Markdown usando pip en el virtualenv activado, pip se instalará en la carpeta global site-packages en lugar de en la carpeta site-packages del virtualenv.
pip install markdown
Devoluciones en ejecución pip list
:
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
Contenido de /Users/kristof/VirtualEnvs/testpy3/lib/python3.3/site-packages
:
__pycache__/
_markerlib/
easy_install.py
pip/
pip-1.5.dist-info/
pkg_resources.py
setuptools/
setuptools-2.0.2.dist-info/
Contenido de /usr/local/lib/python3.3/site-packages
:
Markdown-2.3.1-py3.3.egg-info/
__pycache__/
easy-install.pth
markdown/
pip-1.4.1-py3.3.egg/
setuptools-2.0.1-py3.3.egg
setuptools.pth
virtualenv-1.11-py3.3.egg-info/
virtualenv.py
virtualenv_support/
Como se puede ver, el mundial carpeta site-packages contiene Markdown, la carpeta virtualenv no.
Nota: Ya tenía Python2 y Python3 instalados antes en una VM diferente (seguí estos instrucciones) y tuve el mismo problema con Python3; Sin embargo, la instalación de paquetes en un virtualenv basado en Python2 funcionó a la perfección.
Cualquier consejo, sugerencia,… será muy apreciado.
pip3
?). Puede que no sea malo por sí mismo, pero debe saber si lo es.