2017-01-26 58 views
15

我想在macOS 10.11.6上的Anaconda3 python 3.6上安裝OpenCV 3.2.0,但我找不到方法。 我Anaconda3有蟒蛇3.5.2安裝,但如果我創建使用不能在macOS上的Anaconda3 python3.6上安裝OpenCV3

$ 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構建提供了以下矛盾:

$ 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
我暢達myvenv蟒蛇3.6是: /Users/<username>/anaconda3/envs/myvenv/bin/python

回答

12

由於您使用的是較新版本的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 

版本3.1.0構建的OpenCV提供的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 
+0

謝謝,我設法在兩個獨立的環境中安裝menpo和conda-forge opencv3。 –

+0

在Windows 10 – amorenew

4

我發現接受的解決方案不適用於python 3.6 with anaconda。

所以手動安裝OpenCV而且還有它與康達合作:

$ cd ~ 
$ git clone https://github.com/opencv/opencv 
$ git clone https://github.com/opencv/opencv_contrib 
$ cd ~/opencv 
$ mkdir build 
$ cd build 
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
    -D PYTHON3_LIBRARY=/Users/yourusername/anaconda3/lib/libpython3.6m.dylib \ 
    -D PYTHON3_INCLUDE_DIR=/Users/yourusername/anaconda3/include/python3.6m \ 
    -D PYTHON_DEFAULT_EXECUTABLE=/Users/yourusername/anaconda3/bin/python3 \ 
    -D PYTHON_PACKAGES_PATH=/Users/yourusername/anaconda3/lib/python3.6/site-packages \ 
    -D INSTALL_C_EXAMPLES=OFF \ 
    -D INSTALL_PYTHON_EXAMPLES=ON \ 
    -D BUILD_EXAMPLES=ON \ 
    -D BUILD_opencv_python3=ON \ 
    -D BUILD_opencv_python2=OFF \ 
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules .. 
$ make -j4 
$ make install 

此時安裝應該順利地去了。但是如果你去到終端,你仍然會得到:

$ python 
import cv2 
ImportError: No module named cv2 

所以現在這個文件重命名

$ cd ~/opencv/lib/python3.6/site-packages 
$ mv cv2.cpython-36m-darwin.so cv2.so 

,並將其複製到這個位置

$ cp cv2.so /Users/yourusername/anaconda3/lib/python3.6/site-packages 

,現在它應該工作。

$ python 
import cv2 
cv2.__version__ 
'3.2.0-dev' 
+0

工作你怎麼把它添加到暢達軟件包列表,因爲他們一旦更新,一個想保持更新。 –

+0

澄清這是對那些需要python 3.6的臨時修復。更新將在下載適當的git更改後重覆上述步驟。 –

3

我安裝Win10 anaconda3,當我與暢達安裝opencv3我有同樣的錯誤: conda install -c menpo opencv3

搜索的一段時間,我看到了這個問題,並在google groups here另一個類似的一個。不知何故,我設法將opencv3安裝在python35虛擬環境中,這可能也適用於Mac OS。

conda create --name python35 python=3.5 
activate python35 
conda install -c menpo opencv3 

然後,重新啓動Anaconda3 Navigator並選擇python35環境。

有在Spyder的測試:

import cv2 
print(cv2.__version__) 
3.1.0 
19

以上正確答案並沒有爲我工作。

結束了降低python的版本,直到這是固定的。

conda install python=3.5 conda install -c menpo opencv3

我知道這是不是一個永久性的修復,但是這對我的作品,你會得到留在暢達環境中沒有做太多。

問題目前正在此處引用:https://github.com/conda/conda/issues/2448

希望這有助於!