让virtualenv从您的全球网站包inheritance特定的包
我正在寻找一种方法来使一个virtualenv将只包含一些库(我select)的基本python安装。
更具体一点,我试图在创buildvirtualenv期间将我的matplotlib导入到virtualenv。 它不能用pip或easy_install高效安装,因为它错过了一些fortran编译器库。 我到现在为止的方式是手动复制
/usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/
但是这样做可以防止手工导入的链接被蛋黄注册(在virtualenv中打印所有当前可用的库)。
那么,有没有办法做一个select性的变种
virtualenv --system-site-packages
使用virtualenv --system-site-packages
创build环境。 然后,激活virtualenv,当你安装东西时使用pip install --ignore-installed
或pip install -I
。 这样,即使系统版本存在,pip也会安装您在本地请求的内容。 你的python解释器会首先查看virtualenv的包目录,所以这些包应该映射到全局的包。
你可以使用--system-site-packages
,然后为你的virtualenv“overinstall”特定的东西。 这样,你安装到你的virtualenv的所有东西都将从那里被取出,否则它将被从你的系统中取出。
安装虚拟env
virtualenv --system-site-packages
并使用pip install -U to install matplotlib
你可以使用virtualenv --clear
。 这将不会安装任何包,然后安装你想要的。