让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-installedpip install -I 。 这样,即使系统版本存在,pip也会安装您在本地请求的内容。 你的python解释器会首先查看virtualenv的包目录,所以这些包应该映射到全局的包。

你可以使用--system-site-packages ,然后为你的virtualenv“overinstall”特定的东西。 这样,你安装到你的virtualenv的所有东西都将从那里被取出,否则它将被从你的系统中取出。

安装虚拟env

 virtualenv --system-site-packages 

并使用pip install -U to install matplotlib

你可以使用virtualenv --clear 。 这将不会安装任何包,然后安装你想要的。