如何在全局站点中安装PIP包而不是虚拟包?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (136)

使用pip在虚拟环境中安装包将导致包安装在全局站点包文件夹中,而不是在虚拟文件夹中。下面是我如何在OSX小牛上设置Python 3和Virtualenv(10.9.1):

安装python 3:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl

更改$PATH变量在.bash中_配置文件;增加了以下一行:

export PATH=/usr/local/bin:$PATH

使用PIP 3安装虚拟主机:

pip3 install virtualenv

接下来,创建一个新的虚拟环境并激活它:

virtualenv testpy3 -p python3
cd testpy3
source bin/activate

which pipwhich pip3这两个文件都返回了Virtualenv文件夹:

/Users/kristof/VirtualEnvs/testpy3/bin/pip3

现在,当我试图在激活的Virtualenv中使用pip安装例如Markdown时,pip将安装在全局站点-Packages文件夹中,而不是虚拟包的Site-Packages文件夹中。

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/
提问于
用户回答回答于

检查虚拟路径是否正确。

VIRTUAL_ENV="/Users/me/path/to/virtual/environment"

如果是错的,纠正一下,deactivate,然后. bin/activate

/Users/kristof/VirtualEnvs/testpy3/bin/pip3
用户回答回答于

是python的问题。我在~/.bash中手动设置了我的$PYTHONPATH_,配置文件(或~/.bashrc)。这个手动设置的$PYTHONPATH在虚拟环境中是可用的,因为它可能是应该允许的。

另外add2virtualenv由于某种原因,在虚拟环境中没有将我的项目路径添加到我的$PYTHONPATH中。

扫码关注云+社区

领取腾讯云代金券