【问题标题】:virtualenv to use --system-site-packages, but only for specific packages?virtualenv 使用--system-site-packages,但仅适用于特定软件包?
【发布时间】:2018-06-25 17:42:34
【问题描述】:

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

但是:OpenCV。从我目前所读的内容来看,在 virtualenv 中可靠地安装 OpenCV 听起来很棘手,所以我现在已经接受必须将它作为系统包安装(目标平台是 Ubuntu,所以我正在安装 python-opencv 与 apt )。不过,我想用 pip 将其他所有东西安装到我的 virtualenv 中。

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

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

是否有一种理智的方法可以使站点包中 OpenCV 可用,并从 virtualenv 加载和安装其他所有内容?

【问题讨论】:

  • 查看下面的链接:link希望这会有所帮助。

标签: python opencv virtualenv


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我已经安装了 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
    >>> 
    

    【讨论】:

      猜你喜欢
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 2011-03-23
      • 2010-11-15
      • 2011-02-15
      • 2017-02-19
      • 1970-01-01
      相关资源
      最近更新 更多