Ame*_*ina 48 python pip virtualenv
可能重复:
使virtualenv从您的全局站点包继承特定包
有没有办法创建一个virtualenv
for Python并指定应该从系统范围的安装中使用(继承)哪些包,以及从系统范围的安装中应该忽略哪些包?
更具体地说,例如,有一个系统范围的安装:
numpy
scipy
matplotlib
Run Code Online (Sandbox Code Playgroud)
我想创建一个虚拟环境,以便:
numpy
和scipy
matplotlib
,让我安装/升级我自己的版本(带pip -U matplotlib
).这可能吗?
bik*_*der 69
最简单的方法是创建一个包含系统站点包的virtualenv,然后安装所需的版本:
$ virtualenv --system-site-packages foo
$ source foo/bin/activate
$ pip install Django==1.4.3
Run Code Online (Sandbox Code Playgroud)
您也可以通过检查输出(删除system-site-packages pip freeze
和删除不需要的包来清理virtualenv .pip uninstall
不再适用于较新版本的virtualenv)
另一种方法是创建一个干净的virtualenv并链接您需要的部分:
$ virtualenv --no-site-packages foo
$ source foo/bin/activate
$ ln -s /usr/lib/python2.7/dist-packages/PIL* $VIRTUAL_ENV/lib/python*/site-packages
Run Code Online (Sandbox Code Playgroud)
在非unixish环境中,命令可能略有不同.路径还取决于您使用的系统.为了找到库的路径,启动python shell(没有激活的virtualenv),导入模块并检查module_name.__path__
.例如
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>> PIL.__path__
['/usr/lib/python2.7/dist-packages/PIL']
Run Code Online (Sandbox Code Playgroud)