无法在 macOS 上的 Anaconda3 python3.6 上安装 OpenCV3

新手上路,请多包涵

我正在尝试在 macOS 10.11.6 上的 Anaconda3 python 3.6 上安装 OpenCV 3.2.0,但我找不到方法。我的 Anaconda3 安装了 python 3.5.2 但是如果我使用创建一个新的虚拟环境

$ conda create -n myvenv python
then it downloads and installs python 3.6 on the new myvenv. A simple search
$ conda search opencv
opencv                       2.4.8                np17py27_2  defaults

而 opencv3 不产生任何结果

$ conda search opencv3
NoPackagesFoundError: Package missing in current osx-64 channels:
  - opencv3

安装 menpo opencv3 build 会产生以下冲突:

 $ conda install -c menpo opencv3
Fetching package metadata ...........
Solving package specifications: .
UnsatisfiableError: The following specifications were found to be in conflict:
  - opencv3 -> python 2.7* -> openssl 1.0.1*
  - python 3.6*
Use "conda info <package>" to see the dependencies for each package.

我尝试使用自制软件进行安装,但将其与 Anaconda3 python3 链接起来似乎很困难:

 $ brew install eigen tbb
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/eigen-3.3.1.el_capitan.bottle.tar.gz
100.0%
==> Pouring eigen-3.3.1.el_capitan.bottle.tar.gz
🍺  /usr/local/Cellar/eigen/3.3.1: 486 files, 6.4M
==> Downloading https://homebrew.bintray.com/bottles/tbb-4.4-20161128.el_capitan.bottle.tar.gz
100.0%
==> Pouring tbb-4.4-20161128.el_capitan.bottle.tar.gz
==> Caveats
Python modules have been installed and Homebrew's site-packages is not
in your Python sys.path, so you will not be able to import the modules
this formula installed. If you plan to develop with these modules,
please run:
  mkdir -p /Users/<username>/.local/lib/python3.5/site-packages
  echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/<username>/.local/lib/python3.5/site-packages/homebrew.pth
==> Summary
🍺  /usr/local/Cellar/tbb/4.4-20161128: 119 files, 1.9M

更多信息

$ conda info
Current conda install:
               platform : osx-64
          conda version : 4.3.8
       conda is private : False
      conda-env version : 4.3.8
    conda-build version : 2.0.2
         python version : 3.5.2.final.0
       requests version : 2.12.4
       root environment : /Users/<username>/anaconda3  (writable)
    default environment : /Users/<username>/anaconda3/envs/lesvenv
       envs directories : /Users/<username>/anaconda3/envs
          package cache : /Users/<username>/anaconda3/pkgs
           channel URLs : https://repo.continuum.io/pkgs/free/osx-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/osx-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/osx-64
                          https://repo.continuum.io/pkgs/pro/noarch
            config file : None
           offline mode : False
             user-agent : conda/4.3.8 requests/2.12.4 CPython/3.5.2 Darwin/15.6.0 OSX/10.11.6
                UID:GID : 502:20

而尾声列表是:

 $ conda list
packages in environment at /Users/<username>/anaconda3/envs/lesvenv:
anaconda-client           1.6.0                    py36_0
clyent                    1.2.2                    py36_0
mkl                       2017.0.1                      0
numpy                     1.11.3                   py36_0
openssl                   1.0.2j                        0
pip                       9.0.1                    py36_1
python                    3.6.0                         0
python-dateutil           2.6.0                    py36_0
pytz                      2016.10                  py36_0
pyyaml                    3.12                     py36_0
readline                  6.2                           2
requests                  2.12.4                   py36_0
setuptools                27.2.0                   py36_0
six                       1.10.0                   py36_0
sqlite                    3.13.0                        0
tk                        8.5.18                        0
wheel                     0.29.0                   py36_0
xz                        5.2.2                         1
yaml                      0.1.6                         0
zlib                      1.2.8                         3

我的水蟒是: /Users/<username>/anaconda3/bin/anaconda

我的 python 3.5.2 是: /Users/<username>/anaconda3/bin/python

我的 conda myvenv python 3.6 是: /Users/<username>/anaconda3/envs/myvenv/bin/python

原文由 Shah-G 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 587
2 个回答

由于您使用的是较新版本的 python3,因此您可能必须自己根据配方构建 opencv,该配方可在 https://github.com/conda-forge/opencv-feedstock 获得

另一种选择是通过像这样创建特定版本的 python3 在您的新环境中:

 (root) osx:Downloads nwani$ conda list | grep python
python                    3.6.0                         0
(root) osx:Downloads nwani$ conda create -yn opencvtest python=3.5.2
(root) osx:Downloads nwani$ source activate opencvtest
(opencvtest) osx:Downloads nwani$ conda list | grep python
python                    3.5.2                         0

opencv 3.1.0 版本可在 conda-forge 频道获得:

 (root) osx:Downloads nwani$ conda search -c conda-forge --spec 'opencv=3*'
Fetching package metadata .........
opencv                       3.1.0               np110py27_0  conda-forge
                             3.1.0               np110py34_0  conda-forge
                             3.1.0               np110py35_0  conda-forge
                             3.1.0               np111py27_0  conda-forge
                             3.1.0               np111py34_0  conda-forge
                             3.1.0               np111py35_0  conda-forge
                             3.1.0               np110py27_1  conda-forge
                             3.1.0               np110py34_1  conda-forge
                             3.1.0               np110py35_1  conda-forge
                             3.1.0               np111py27_1  conda-forge
                             3.1.0               np111py34_1  conda-forge
                             3.1.0               np111py35_1  conda-forge

您可以像这样安装它:

 (opencvtest) osx:Downloads nwani$ conda install -y -c conda-forge opencv
(opencvtest) osx:Downloads nwani$ conda list | grep -e python -e opencv
# packages in environment at /Users/nwani/Downloads/m3/envs/opencvtest:
opencv                    3.1.0               np111py35_1    conda-forge
python                    3.5.2                         0

原文由 Nehal J Wani 发布,翻译遵循 CC BY-SA 3.0 许可协议

这个答案现在已经过时了(除非出于某种原因你想使用旧版本的 OpenCV)——请看 这个答案

上面的正确答案对我不起作用。

最终降低了 python 的版本,直到这个问题得到解决。

conda install python=3.5 conda install -c menpo opencv3

我知道这不是永久性修复,但这对我有用,您无需做太多事情就可以留在 conda 环境中。

该问题目前在此处引用: https ://github.com/conda/conda/issues/2448

希望这可以帮助!

原文由 Viv 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题