如何使用 virtualenv 来仅针对特定包使用 --system-site-packages 参数?

3
在理想的情况下,我希望在 --no-site-packages 虚拟环境中使用 pip。
然而:OpenCV。根据我目前所读到的信息,似乎在虚拟环境中可靠地安装 OpenCV 非常棘手,因此我现在已经接受了将其作为系统包进行安装的方式(目标平台是 Ubuntu,所以我正在使用 apt 安装 python-opencv)。但我仍然希望将其他所有东西都通过 pip 安装到我的虚拟环境中。
为了使 OpenCV 对我的应用程序可用,我已经使用 --system-site-packages 初始化了虚拟环境。
现在,当使用 env/bin/pip install -U -r requirements.txt 安装其他依赖项时,一些要求(恰好是 OpenCV 的依赖项)被视为已满足。这并不奇怪,但也不是我想要的。
是否有一种明智的方法只从 site-packages 中获取 OpenCV,并从虚拟环境中加载和安装其他所有内容?

请查看以下链接:
link希望这可以帮到您。
- Surinder ツ
2个回答

1

在2018年,你可以使用opencv-python软件包在虚拟环境中轻松安装最新版本的OpenCV。


0

我已经安装了OpenCV,但为了在我的虚拟环境中使用该安装程序,我按照以下步骤进行操作:

  • 找到您的系统站点包目录。您可以参考@peterino's answer
  • 按照以下步骤操作:

# This is the path for my system-site-packages
$ cd /home/aadi/.local/lib/python3.6/site-packages
$ ls | grep cv`
# Here if you have open cv installed you'll find the result. For me, it was something like this
#I am attaching an image of my result'

我这边的结果(图片)

# Then I copied both of the cv2 files i.e cv2 and opencv_python-3.4.0.12.dist-info to my virtual env site-packages.

$ cp -r opencv_python-3.4.0.12.dist-info /home/aadi/prog/python_apps/venv/lib/python3.6/site-package && cp -r cv2 /home/aadi/prog/python_apps/venv/lib/python3.6/site-packages    

这里的 python_apps 是我创建虚拟环境的目录。 然后我重新激活了我的虚拟环境,太好了!导入 cv2 没有出现任何错误

(venv) ➜  python_apps python
Python 3.6.5 (default, Apr  1 2018, 05:46:30) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接