Установка Python 3.4 и OpenCV 3.0 на Raspbian
-
Решил освоить raspberry, при этом не использовать компилируемые языки, выбор невольно остановился на Python 3. Поскольку изначально планировалось задействовать OpenCV, то на текущий момент это возможно только с OpenCV 3.0 beta которая рекомендует использовать с ней Python 3.4. Ни того ни другого в репозитории нет и пришлось собирать из исходников, по пути осваивая данный процесс. Идущим по моим следам посвящается:
Установка Python 3.4
Устанавливаем пакеты необходимые для Python:
sudo apt-get install zlib1g-dev libbz2-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev libgdbm-dev liblzma-dev tk-dev
Качаем и распаковываем исходники:
wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz tar -zxvf ./Python-3.4.2.tgz cd ./Python-3.4.2/
Более свежие исходники можно взять с оф.сайта
Готовим к компиляции
./configure --prefix=/usr/local
Компилируем
make
Ближе к концу компиляции может появится сообщение о том что каких-то пакетов не хватает: "the necessary bits to build these modules were not found:" их можно до установить если они вам нужны, после чего повторить процедуру.
Cобираем пакет
sudo make install
По правильному надо собирать при помощи checkinstall, но не получилось как ни старался. setup_tools и pip ставятся автоматически
Создаем удобные симлинки в системе:
rm /usr/bin/python3 ln -s /usr/local/bin/python3 /usr/bin/ ln -s /usr/local/bin/pip3 /usr/bin/
OpenCV необходим питоновский модуль numpy - ставим
pip3 install numpy
Устанавливаем необходимые OpenCV пакеты (поставил все что просил)
sudo apt-get install cmake git build-essential pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev \ zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libeigen3-dev libjpeg8 \ libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev \ libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin \ libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.7 python-dev python2.7-dev libgtk2.0-dev
Скачиваем исходники
wget https://github.com/Itseez/opencv/archive/3.0.0-beta.zip unzip 3.0.0-beta.zip cd opencv-3.0.0-beta
Собираем (поскольку на raspbian несколько питонов, необходимо указать какой из них где)
sudo cmake \ -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local/ \ -D PYTHON2_EXECUTABLE=/usr/bin/python2 \ -D PYTHON2_INCLUDE_PATH=/usr/include/python2.7/ \ -D PYTHON2_LIBRARIES=/usr/lib/python2.7 \ -D PYTHON2_PACKAGES_PATH=/usr/local/lib/python2.7/site-packages/ \ -D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/local/lib/python2.7/dist-packages/numpy/core/include \ -D PYTHON3_EXECUTABLE=/usr/local/bin/python3 \ -D PYTHON3_INCLUDE_PATH=/usr/local/include/python3.4m/ \ -D PYTHON3_LIBRARIES=/usr/local/lib/python3.4/ \ -D PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.4/site-packages/ \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/dist-packages/numpy/core/include/ . sudo make sudo make install
Cборка на raspberry занимает порядка 10-12 часов. checkinstall как и в случае с питоном работать отказался.
Чтобы Raspberry Camera стала стандартным V4L устройством /dev/video0, нужно выполнить:
sudo modprobe bcm2835-v4l2
RASPBIAN
PYTHON
OPENCV