Usar pip3para instalar um pacote em a virtualenvfaz com que o pacote seja instalado na pasta global site-packages em vez de na pasta virtualenv. Veja como configuro o Python3 e o virtualenv no OS X Mavericks (10.9.1):
Instalei o Python3 usando o Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
Alterou a $PATHvariável em .bash_profile; adicionou a seguinte linha:
export PATH=/usr/local/bin:$PATH
Execução de which python3retornos /usr/local/bin/python3(após reiniciar o shell).
Nota: which python3ainda retorna / usr/bin/pythonembora.
Instalado virtualenvusando pip3:
pip3 install virtualenv
Em seguida, crie um novo virtualenve ative-o:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
Observação: se eu não especificar -p python3, pip estará ausente da pasta bin no virtualenv.
Executando which pipe which pip3ambos retornam a pasta virtualenv:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
Agora, quando tento instalar, por exemplo, Markdown usando pip no virtualenv ativado, o pip irá instalar na pasta global site-packages em vez da pasta site-packages do virtualenv.
pip install markdown
pip listDevoluções em execução :
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
Conteúdo 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/
Conteúdo 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 você pode ver, a pasta global site-packages contém Markdown, a pasta virtualenv não.
Observação: eu já tinha Python2 e Python3 instalados antes em uma VM diferente (segui essas instruções) e tive o mesmo problema com Python3; Instalar pacotes em um virtualenv baseado em Python2 funcionou perfeitamente.
Quaisquer dicas, sugestões, ... seriam muito apreciadas.
pip3?). Pode não ser ruim por si só, mas você deve estar ciente se for.