Anaconda3 python 3.6にOpenCV 3.2.0をmacOS 10.11.6にインストールしようとしていますが、方法が見つかりません。私の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.
Homebrewを使用してインストールしようとしましたが、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
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
この答えは古くなっています(何らかの理由で古いバージョンのOpenCVを使用したい場合を除く)- この答えをご覧ください
上記の正しい答えは私にはうまくいきませんでした。
これが修正されるまでpythonのバージョンを下げることになりました。
conda install python=3.5 conda install -c menpo opencv3
これが永続的な修正ではないことはわかっていますが、これは私には有効であり、多くのことをせずにconda環境内にとどまります。
この問題は現在ここで参照されています: https://github.com/conda/conda/issues/2448
お役に立てれば!
私は、受け入れられたソリューションがpython 3.6 with anacondaで動作しないことを発見しました。
したがって、opencvを手動でインストールし、condaで引き続き動作させるには:
$ 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'
Win10にanaconda3をインストールしましたが、condaでopencv3をインストールしたときに同じエラーが発生しました:conda install -c menpo opencv3
google groups here でこの質問と別の同様の質問を見たしばらくの間検索しました。どういうわけか私はpython35仮想環境にopencv3をインストールすることができました。これは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
直接的な解決策は、基本インストールで以下を実行することです
conda install -c menpo opencv3
以前は、パッケージはPython 3.5まで構築されていたため、この問題を @ VivekPataniの代替 で解決していました。
現在、conda menpoのリポジトリには、Python 3.6バージョンのOpenCVのビルド済みバージョンがあります。したがって、3.5にダウングレードしたり、ソースからOpenCVをビルドする必要はありません。