所以我有一个名为venv的virtualenv文件夹用于我的python项目。
我可以跑:
venv/bin/pip install -r requirements.txt
除了一个M2Crypto之外,还安装了项目所需的所有要求。安装它的唯一方法是通过apt-get:
apt-get install python-m2crypto
如何将这个通过apt安装的软件包添加到venv文件夹?
答案 0 :(得分:40)
--system-site-packages
允许访问虚拟环境的全局站点包模块。
你可以这样做:$ sudo apt-get install python-m2crypto
$ virtualenv env --system-site-packages
...然后您就可以在virtualenv中访问m2crypto
(以及所有其他系统范围内安装的软件包)。
答案 1 :(得分:23)
毕竟我做了什么:
cp -R /usr/lib/python2.7/dist-packages/M2Crypto /home/richard/hello-project/venv/lib/python2.7/site-packages/
cp -R /usr/lib/python2.7/dist-packages/OpenSSL /home/richard/hello-project/venv/lib/python2.7/site-packages/
答案 2 :(得分:11)
toggleglobalsitepackages
会切换对系统范围site-packages
。
注意:您需要pip install virtualenvwrapper
才能获得此命令;香草virtualenv
不包括它。使用virtualenvwrapper
,您还可以获得非常有用的mkvirtualenv
和rmvirtualenv
命令。
答案 3 :(得分:3)
venv/bin/pip install -I M2Crypto
-I
强制它也被安装到virtualenv中,即使它已经全局安装。
答案 4 :(得分:3)
最简单的解决方案。 在虚拟环境目录中,编辑文件pyvenv.cfg,并设置参数 include-system-site-packages = true 保存文件。 全局安装的模块将在您下次激活(源/合并/激活)环境时出现。 可以通过“点子列表”进行验证
享受。