Browsing articles from "7月, 2017"
7月 17, 2017
kamata

Ubunts16.04LTSにPython3, opencv3, wxPython4, PyInstaller3 をインストール


■ ubuntsのインストール
Ubuntu Desktop 日本語 Remixのダウンロード(https://www.ubuntulinux.jp/download/ja-remix)より ubuntu-ja-16.04-desktop-amd64.isoを取得し、Parallelsのウィザードに従って設定。

インストール後、ソフトウエアのアップデートをかけ、最新にする。 ホームへのパスは、/home/yukio/です。

■ gitのインストール sudo apt-get install git sudo apt autoremove

■ python3.4.3のインストール
git clone https://github.com/yyuu/pyenv.git ~/.pyenv

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

・再起動

・3.4.3をインストール
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.3

Ignoring ensurepip failure: pip 6.0.8 requires SSL/TLS
というエラーが出る。sslが必要だとのことで、必要なものも含めて入れる。

sudo apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libsqlite3-dev

をやって再度、
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.3

pyenv rehash
pyenv global 3.4.3

・確認
which python

■ OpenCV3のインストール
・関連モジュール いろいろ
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

・OpenCVダウンロード
cd ~
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

#git clone https://github.com/opencv/opencv
#git clone https://github.com/opencv/opencv_contrib

・site-packagesの作成
sudo mkdir -p /usr/local/lib/python3.4/site-packages

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

・パスを確認する
/home/yukio/.pyenv/versions/3.4.3/lib/libpython3.4m.so
/home/yukio/.pyenv/versions/3.4.3/include/python3.4m
/home/yukio/.pyenv/versions/3.4.3/bin/python3.4m

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=/home/yukio/opencv_contrib-3.2.0/modules \
-D PYTHON_LIBRARY=/home/yukio/.pyenv/versions/3.4.3/lib/libpython3.4m.so \
-D PYTHON_INCLUDE_DIR=/home/yukio/.pyenv/versions/3.4.3/include/python3.4m \
-D PYTHON_EXECUTABLE=/home/yukio/.pyenv/versions/3.4.3/bin/python3.4 \
-D PYTHON_NUMPY_INCLUDE_DIR=/home/yukio/.pyenv/versions/3.4.3/lib/python3.4/site-packages/numpy/core/include \
-D PYTHON_PACKAGES_PATH=/home/yukio/.pyenv/versions/3.4.3/lib/python3.4/site-packages \
-D WITH_TBB=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D WITH_V4L=ON \
-D WITH_FFMPEG=OFF \
-D BUILD_opencv_python=ON \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF ..

--
-- Python 2:
-- Interpreter: NO
--
-- Python 3:
-- Interpreter: /home/yukio/.pyenv/shims/python3.4 (ver 3.4.3)
-- Libraries: /home/yukio/.pyenv/versions/3.4.3/lib/libpython3.4m.so (ver 3.4.3)
-- numpy: /home/yukio/.pyenv/versions/3.4.3/lib/python3.4/site-packages/numpy/core/include (ver 1.13.0rc2)
-- packages path: lib/python3.4/site-packages
--
-- Python (for build): /home/yukio/.pyenv/shims/python3.4
--

・makeしてinstall
make -j2
sudo make install
sudo ldconfig

・確認
cd /usr/local/lib/python3.4/site-packages
ls -l *.so
-rw-r--r-- 1 root root 3549992 Jul 5 23:38 cv2.cpython-34m.so

・移動
sudo mv cv2.cpython-34m.so /home/yukio/.pyenv/versions/3.4.3/lib/python3.4/site-packages/

・確認
$ python
Python 3.4.3 (default, Jul 5 2017, 18:26:47)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>

■ wxPython4のインストール

sudo apt-get install freeglut3 freeglut3-dev
sudo apt-get install python-gst0.10-dev
sudo apt-get install libwebkitgtk-dev
sudo apt-get install libnotify-dev

ソースを取得する

python setup.py build

20分かかって終了。

yukio@ubuntu:~$ python
Python 3.4.3 (default, Jul 5 2017, 18:26:47)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx

で、'libwx_gtk2u_core-3.0.so.0'関連のエラーがでる

ビルドのログを、よく、見ると

*python setup.py build
------------ BUILD FINISHED ------------
To use wxPython from the build folder (without installing):
- Set your PYTHONPATH variable to /home/yukio/wxPython-4.0.0a3.
- You may also need to set your (DY)LD_LIBRARY_PATH to /home/yukio/wxPython-4.0.0a3/build/wxbld/lib,
or wherever the wxWidgets libs have been installed.

とあるので、
export LD_LIBRARY_PATH=/home/yukio/wxPython-4.0.0a3/build/wxbld/lib
export PYTHONPATH=$PYTHONPATH:/home/yukio/wxPython-4.0.0a3


yukio@ubuntu:~$ python
Python 3.4.3 (default, Jul 5 2017, 18:26:47)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>>

◆後片付け
sudo apt-get update
sudo apt-get upgrade
sudo apt-get clean
sudo apt-get autoremove

echo 'export LD_LIBRARY_PATH=/home/yukio/wxPython-4.0.0a3/build/wxbld/lib' >> ~/.profile
echo 'export PYTHONPATH=$PYTHONPATH:/home/yukio/wxPython-4.0.0a3' >> ~/.profile

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 の設定が完了しました。

7月 16, 2017
kamata

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


10.8で環境構築しなくてはいけなくなったので、作業メモ。 Parallelsに10.8を新規インストールした直後の状態で作業してます。

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

■ CommandLineToolsとXcodeのインストール

command_line_tools_for_osx_mountain_lion_april_2014.dmg
xcode_5.1.1.dmg

をAppleから取得してインストール

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

・確認
> brew doctor

古いOSだから、これもやっとけと言われるので実行
> brew install curl

・バージョンの確認
> brew -v

次のメッセージが出たが、何もしない
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/curl/lib
CPPFLAGS: -I/usr/local/opt/curl/include
For pkg-config to find this software you may need to set:
PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig

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

・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

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

・確認
> which python
/Users/yukio/.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

途中Javaのインストールダイアログがでるので、インストール。

> 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/python3.4/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

・brewで出たメッセージがきになるので、やっておく。
> export CPPFLAGS=-I/usr/local/opt/curl/include
> export LDFLAGS=-L/usr/local/opt/curl/lib
> export PKG_CONFIG_PATH=/usr/local/opt/curl/lib/pkgconfig

・ビルドする
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/python3.4/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=/Users/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/python3.4/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

・エラー
ここからが、大変だった(十数回やり直してます)。
まず、こんなメッセージでエラーとなる。
/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:356:29: note: 'activeVideoMinFrameDuration' declared

・対策
/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h の356行目
@property(nonatomic) CMTime activeVideoMinFrameDuration NS_AVAILABLE(10_7, NA);

となっている。この次に、下記を追加した。
@property(nonatomic) CMTime activeVideoMaxFrameDuration NS_AVAILABLE(10_7, NA);

・またメイク
> make -j4

・あともう少しというところでエラー
[ 98%] Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/opencl/perf_stitch.cpp.o
/Users/yukio/opencv_contrib/modules/optflow/perf/org/perf_disflow.cpp:89:41: error: call to 'pow' is ambiguous
Mat tmp(Size(dst_frame1.cols / (int)pow(2, src_scale), dst_frame1.rows / (int)pow(2, src_scale)), CV_8U);

/Users/yukio/opencv_contrib/modules/optflow/perf/org/perf_disflow.cpp:94:56: error: call to 'pow' is ambiguous
Mat displacement_field(Size(dst_frame1.cols / (int)pow(2, OF_scale), dst_frame1.rows / (int)pow(2, OF_scale)),

・対策
~ opencv_contrib/modules/optflow/perf/org/perf_disflow.cppの89行目を下記に変更

Mat tmp(Size(dst_frame1.cols / (1 < < src_scale), dst_frame1.rows / (1 << src_scale)), CV_8U);

94行目を下記に変更
Mat displacement_field(Size(dst_frame1.cols / (1 << OF_scale), dst_frame1.rows / (1 << OF_scale)),

この情報源は、https://github.com/opencv/opencv_contrib/pull/1208/files です。

・またまたメイク
> make -j4

いくつかwarningは出たが、
[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.8にpython3, Opencv3, wxPython4, PyInstaller3 の設定が完了しました。