我正在寻找一种方法来制作一个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中所有当前可用的lib)。
那么,有没有办法做一个
的选择性变体virtualenv --system-site-packages
答案 0 :(得分:203)
使用virtualenv --system-site-packages
创建环境。然后,激活virtualenv,当你想在virtualenv而不是系统python中安装东西时,使用pip install --ignore-installed
或pip install -I
。这样,即使存在系统范围的版本,pip也会安装您在本地请求的内容。你的python解释器将首先在virtualenv的包目录中查找,因此这些包应该会影响全局的包。
答案 1 :(得分:16)
您可以使用--system-site-packages
然后“重新安装”您的virtualenv的特定内容。这样,您安装到virtualenv中的所有内容都将从那里获取,否则将从您的系统中获取。
答案 2 :(得分:-5)
使用
安装虚拟环境virtualenv --system-site-packages
并使用pip install -U to install matplotlib
答案 3 :(得分:-7)
您可以使用virtualenv --clear
。它不会安装任何软件包,然后安装你想要的软件包。