猿问

使virtualenv从您的全局站点包继承特定的包

使virtualenv从您的全局站点包继承特定的包

我正在寻找一种方法来制作一个virtualenv,其中只包含基本python安装的一些库(我选择)。

更具体一点,我正在尝试在virtualenv的创建过程中将matplotlib导入virtualenv。它无法通过pip或easy_install高效安装,因为它错过了一些fortran编译器库。我到目前为止的方式是手动复制

/usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/

但是这可以防止yolk注册manully导入的链接(打印virtualenv中所有当前可用的库)。

那么,有没有办法做一个选择性的变体

virtualenv --system-site-packages


冉冉说
浏览 1942回答 3
3回答

米脂

创建环境virtualenv --system-site-packages。然后,激活virtualenv,当你想在virtualenv而不是系统python中安装东西时,使用pip install --ignore-installed或pip install -I。这样,即使存在系统范围的版本,pip也会安装您在本地请求的内容。你的python解释器将首先在virtualenv的包目录中查找,因此这些包应该影响全局的包。

杨__羊羊

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

慕村9548890

用。安装虚拟环境virtualenv --system-site-packages并使用 pip install -U to install matplotlib
随时随地看视频慕课网APP
我要回答