使用 pip3
在 virtualenv
中安装软件包会导致软件包安装在全局站点软件包文件夹中,而不是在 viralenv 文件夹中。下面是我在 OS X Mavericks (10.9.1)上设置 Python 3和 viralenv 的方法:
我安装 Python 3时使用的是 Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
更改 .bash_profile
中的 $PATH
变量; 添加以下代码行:
export PATH=/usr/local/bin:$PATH
运行 which python3
返回 /usr/local/bin/python3
(在重新启动 shell 之后)。
注意: which python3
仍然返回/usr/bin/python
。
使用 pip3
安装 virtualenv
:
pip3 install virtualenv
接下来,创建一个新的 virtualenv
并激活它:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
注意: 如果我没有指定-p python3,那么将在 viralenv 中的 bin 文件夹中找不到 pip。
运行 which pip
和 which pip3
都会返回 viralenv 文件夹:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
现在,当我尝试在已激活的 viralenv 中使用 pip 安装 Markdown 时,pip 将安装在全局站点包文件夹中,而不是 viralenv 的站点包文件夹中。
pip install markdown
运行 pip list
返回:
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
/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/
/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/
正如您所看到的,全球性的站点包文件夹包含 Markdown,而 viralenv 文件夹不包含 Markdown。
注意: 我之前在不同的 VM 上安装了 Python 2和 Python 3(遵循 这些的指令) ,Python 3也有同样的问题; 但是在基于 Python 2的 viralenv 中安装包的工作完美无缺。
任何建议,提示,... 将非常感谢。