python - 让 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 注册(它会打印 virtualenv 中所有当前可用的库)。

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

virtualenv --system-site-packages

最佳答案

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

https://stackoverflow.com/questions/12079607/

相关文章:

python - 如何在 Pandas 中选择除一列之外的所有列?

linux - 什么是 .pid 文件,它包含什么?

mysql - 如何在windows的命令行中找到mysql数据目录

python - 从数字中获取月份名称

linux - 如何将 time 命令的输出重定向到 Linux 中的文件?

python - 从字符串中删除所有特殊字符、标点符号和空格

linux - 如何快速汇总文件中的所有数字?

python - socket.error : [Errno 48] Address already

linux - CentOS 64 位坏 ELF 解释器

python - 用 Python 控制鼠标