235

我正在寻找一种制作 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
4

4 回答 4

261

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

于 2013-10-18T22:25:01.560 回答
19

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

于 2012-08-22T19:11:40.730 回答
0

我在 Ubuntu 20.04 上使用 python.3.8 和 pip3 玩游戏迟到了。

摆脱烦人的 .local 安装的唯一方法是设置一个环境变量(bash):

export PYTHONNOUSERSITE="true"

这不需要是“真的”任何东西都会起作用。我不会选择 0。;-)

于 2022-01-28T10:55:14.347 回答
-5

安装虚拟环境

virtualenv --system-site-packages

并使用pip install -U to install matplotlib

于 2015-07-30T20:27:22.780 回答