virtualenv使用--system-site-packages,但仅限于特定的包?

时间:2014-08-28 08:21:52

标签: python opencv virtualenv

在一个完美的世界里,我想在--no-site-packages virtualenv中使用pip。

但是:OpenCV。从我到目前为止所读到的,在virtualenv中可靠地安装OpenCV听起来很棘手,所以我已经接受了现在必须安装它作为系统包(目标平台是Ubuntu,所以我' m用apt安装python-opencv。不过,我想把pip安装到我的virtualenv中。

为了让我的应用程序可以使用OpenCV,我已使用--system-site-packages初始化了virtualenv。

现在使用env/bin/pip install -U -r requirements.txt安装其他依赖项时,一些要求(恰好是OpenCV的依赖项)被视为满意。不足为奇,但也不是我想要的。

是否有一种理智的方法可以从网站包中提供 OpenCV,并将所有其他内容从virtualenv中加载并安装到其中?

2 个答案:

答案 0 :(得分: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'

Result (Image) from my end

# 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
>>> 

答案 1 :(得分:0)

在2018年,您可以使用opencv-python软件包在virtualenv中轻松安装OpenCV的最新版本。