7月 16, 2017
kamata

macOS10.12にPython3, opencv3, wxPython4, PyInstaller3 をインストール


ホームディレクトリは、/Users/yukioです

■ Xcodeのインストール

■ homebrew のインストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

・確認
brew doctor
brew -v

■ python3.4.3のインストール
・pyenvをインストール
brew install pyenv

For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/readline/lib
CPPFLAGS: -I/usr/local/opt/readline/include

・pyenvにパスを通す
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

・3.4.3をインストール(PyInstallerで使うので--enable-frameworkをつける)
env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.4.3

・zipimport.ZipImportError: can't decompress data; zlib not available で失敗したら、
xcode-select --install を試みる

インストール終了後、リハッシュしてグローバルに設定する
pyenv rehash
pyenv global 3.4.3

・確認
which python
/Users/Home/.pyenv/shims/python

python -V
Python 3.4.3

■ 古いので、新しくする
pip install --upgrade pip
pip install --upgrade setuptools

■ wxPython4のインストール
pip install https://pypi.python.org/packages/8b/a1/b1715ef2db427c78a990782c62aae03353da38604d8e7eeb7c61cf27a5a4/wxPython-4.0.0a3-cp34-cp34m-macosx_10_6_intel.whl#md5=ec07ac30a395dc5e25da532ade375223

下記が出て終了
Successfully installed six-1.10.0 wxPython-4.0.0a3

・確認
python
>>> import wx
>>>

■ OpenCV3のインストール
・関連モジュール
pip install numpy
brew install cmake
brew install jpeg libpng libtiff openexr
brew install eigen tbb

次のメッセージが出た。
'''
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/yukio/Library/Python/3.4/lib/python/site-packages
echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/yukio/Library/Python/3.4/lib/python/site-packages/homebrew.pth
'''
よって、これに従って、下記を実行

> mkdir -p /Users/yukio/Library/Python/3.4/lib/python/site-packages
> echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/yukio/Library/Python/3.4/lib/python/site-packages/homebrew.pth

・OpenCVダウンロード(3.2を使用する)

・wgetのインストール(この方法じゃなくても、gitなどで3.2が取得できればOK)
cd ~
brew install wget

・ダウンロード
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.2.0.zip

それぞれ解凍し、opencv、opencv_contribの名前にして、ホームに配置

・buildディレクトリの作成
> cd ~/opencv
> mkdir build
> cd build

・Python3.4のライブラリ、インクルード、エグゼのパスを確認する
/Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/lib/libpython3.4.dylib
/Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/include/python3.4m
/Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/bin/python3.4

・ビルドする
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON_LIBRARY=/Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/lib/libpython3.4.dylib \
-D PYTHON_INCLUDE_DIR=/Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/include/python3.4m \
-D PYTHON_EXECUTABLE=/Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/bin/python3.4 \
-D PYTHON_PACKAGES_PATH=/home/yukio/.pyenv/versions/3.4.3/lib/python3.4/site-packages \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_FFMPEG=OFF \
-D BUILD_opencv_java=OFF \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF ..

・こんなのが帰ってきたので、OKでしょう。
--
-- Python 2:
-- Interpreter: NO
--
-- Python 3:
-- Interpreter: /Users/yukio/.pyenv/shims/python3.4 (ver 3.4.3)
-- Libraries: /Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/lib/libpython3.4.dylib (ver 3.4.3)
-- numpy: /Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/core/include (ver 1.13.1)
-- packages path: lib/python3.4/site-packages
--
-- Python (for build): /Users/yukio/.pyenv/shims/python3.4
--

・メイク
> make -j4

[100%] Linking CXX shared module ../../lib/python3/cv2.so
[100%] Built target opencv_python3
で完了

・インストール
> sudo make install
--
--
-- Installing: /usr/local/bin/opencv_traincascade
-- Installing: /usr/local/bin/opencv_createsamples
-- Installing: /usr/local/bin/opencv_annotation
-- Installing: /usr/local/bin/opencv_visualisation
-- Installing: /usr/local/bin/opencv_interactive-calibration
-- Installing: /usr/local/bin/opencv_version
で完了

・cv2.soの移動
> ~ cd /usr/local/lib/python3.4/site-packages/
> ls -l *.so
-rwxr-xr-x 1 root admin 3858024 7 16 00:50 cv2.so

と出来ている。

> mv cv2.so /Users/yukio/.pyenv/versions/3.4.3/Python.framework/Versions/3.4/lib/python3.4/site-packages/
で移動。

・確認
> python
>>> import cv2
>>>

■ pyinstallerのインストール

pip install pyinstaller

>>Successfully installed pyinstaller-3.2.1

以上で、macOS10.12にpython3, Opencv3, wxPython4, PyInstaller3 の設定が完了しました。

Leave a comment