Але*_*еев 20 python virtualenv apt-get
当然,这是可能的.
例如 - 我可以像这样下载python-dbus:$ sudo apt-get download python-dbus
但接下来应该做什么,在我目前的virtualenv中使用这个.deb包?
MrC*_*les 22
如果你真的需要这样做,你可以直接将全局安装的文件复制到virtualenv中.例如,我无法使pycurl工作,因为所需的库没有安装,但apt-get install python-pycurl确实如此.所以我做了以下事情:
sudo apt-get install python-pycurl
cp /usr/lib/python2.7/dist-packages/pycurl* ~/.virtualenvs/myenv/lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)
安装说它将它添加到/usr/lib/python2.7.因此,在查看我将其复制到virtualenv中的文件后,我查看了该目录中的site-packages或dist-packages with pycurl.您还必须将bin中的任何可执行文件复制到virtualenv的bin目录中.
另外,pip install -r requirements.txt在那里运行一个成功找到的pycurl,然后跳过它就像我通过pip安装它一样.
Chr*_*ris 11
要在现有虚拟环境中包含系统站点包,请打开配置文件:
<PATH_TO_YOUR_VENV_FOLDER>/pyvenv.cfg
并更改false为trueforinclude-system-site-packages
include-system-site-packages = true
Run Code Online (Sandbox Code Playgroud)
保存并重新加载您的虚拟环境。
(在 Raspbian GNU/Linux 10 (buster) 上使用 virtualenv 20.2.2 进行测试,将使用 apt 安装的 python3-pyqt5 拉入我的虚拟环境)
如果是针对新环境,@Joshua Kan使用带有命令的标志的答案可能就是您想要的。--system-site-packagesvenv
你为什么想做这个?重点是避免做那样的事情......
virtualenv whatever
cd whatever
bin/pip install dbus-python
Run Code Online (Sandbox Code Playgroud)
您也可以选择指定--no-site-packages以virtualenv使其更加孤立.