Setting môi trường lập trình Python và OpenCV

0
61

OSX

Step 1: Cài đặt xcode

Bạn cần có tài khoản Apple & cài đặt XCode từ apple store.

Tiếp theo ,chấp nhận license bằng command :

$ sudo xcodebuild -license

Tiếp theo install Apple Command Line Tools :

$ sudo xcode-select --install

Step 2: Cài đăt Homebrew ( trình quản lý install package)

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Cập nhật homebrew :

$ brew update

Step 3: Cập nhật biến môi trường.

Open file .bash_profile , nếu chưa có thì tạo mới :

$ touch .bash_profile

Open file để edit ( chẳng hạn dùm vim)

$ vim ~/.bash_profile

Add thêm nôi dung bên dưới vào file :

# Homebrew
export PATH=/usr/local/bin:$PATH

$PATH  : là để thêm vào cuối của biến môi trường PATH.

Load lại biến môi trường :

$ source ~/.bash_profile

Cài đặt Python 3.6.5_1:

Lý do install Python 3.6.5_1 là version Python 3.7 chưa hỗ trợ Keras/TensorFlow.

$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
$ brew switch python 3.6.5_1

Có thể sẽ có error như bên dưới :

Error: python contains a recursive dependency on itself:
  python depends on sphinx-doc
  sphinx-doc depends on python
==> brew cleanup has not been run in 30 days, running now...

Lúc này ta cần chỉnh sửa lại để bỏ qua dependency:

brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Sau khi cài đăt , chúng ta kiểm tra lại :

$ python3
Python 3.6.5 (default, Jun 17 2018, 12:13:06) 
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Nếu mà giống như trên thì ok . Nếu lỡ cài đặt phiên bản 3.7 thì phải downgrade xuống 3.6.5.

Để hạ cấp python xuống 3.6.5 thì làm như sau ( trong trường hợp đã cài version 3.7)

brew unlink python
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Kiểm tra tiếp :

$ which python3
/usr/local/bin/python3

Các bạn có output giống như trên không?

Nếu  như thấy /usr/local/bin/python3 thì có nghĩa là đang sử dụng  Homebrew Python ( đúng như mong muốn của chúng ta).Trường hợp các bạn thấy /usr/bin/python3 thì có nghĩa là đang sử dụng  python của system, trong trường hợp này bạn cần xem lại file .bash_profile và load lại PATH.

Hãy dành thời giam để kiểm tra & phải chắc chắn là sử dụng homebrew python chứ không phải là của system.

Tiếp tục cài đặt các thư viện khác thông qua homebrew :

$ brew install wget cmake
$ brew install jpeg libpng libtiff openexr
$ brew install eigen tbb

Step 4:

Cài đặt virtualenv  , virtualenvwrapper  để cấu hình để tạo thành các môi trường python riêng biệt tùy theo từng dự án chúng ta đang làm việc.

$ sudo pip3 install virtualenv virtualenvwrapper

Cập nhật ~/.bash_profile :

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

Reaload file .bash_profile :

$ source ~/.bash_profile

Bây giờ chúng ta tạo môi trường tên là codedao và có python3:

$ mkvirtualenv codedao -p python3

*Trường hợp có sẵn môi trường codedao rồi thì remove bằng command:

rmvirtualenv  codedao

Step 5:

Cài đặt numpy trong môi trường codedao :

$ workon codedao
$ pip install numpy

Step 6: Chọn 1 trong 2 cách bên dưới.

Step 6a: Sử dụng pip để install OpenCV ( nhanh nhất & hiệu quả –nên dùng cách này)

$ workon codedao
$ pip install opencv-contrib-python

Step 6b: Biên dịch OpenCV từ source code ( có thể sẽ bị error )

Download source code OpenCV ,

$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.3.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.3.zip

Giải nén :

$ unzip opencv.zip
$ unzip opencv_contrib.zip

Đổi tên thư mục :

$ mv opencv-3.4.3 opencv
$ mv opencv_contrib-3.4.3 opencv_contrib

Thực thi cmd :

$ cd ~/opencv
$ mkdir build
$ cd build
$ workon gurus
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D PYTHON3_LIBRARY=python -c 'import subprocess ; import sys ; s = subprocess.check_output("python-config --configdir", shell=True).decode("utf-8").strip() ; (M, m) = sys.version_info[:2] ; print("{}/libpython{}.{}.dylib".format(s, M, m))' \
    -D PYTHON3_INCLUDE_DIR=python -c 'import distutils.sysconfig as s; print(s.get_python_inc())' \
    -D PYTHON3_EXECUTABLE=$VIRTUAL_ENV/bin/python \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=ON ..

Biên dịch openCV :

$ make -j6

j6 : sử dụng 6 cores/processors cho compiling

Install openCV :

$ sudo make install

Sau khi install , tạo sym-link từ cv2.so file và môi trường codedao đã tạo ở trên.

$ cd ~/.virtualenvs/gurus/lib/python3.6/site-packages/
$ ln -s /usr/local/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so cv2.so
$ cd ~

Step 7: Kiểm tra các phần đã cài đặt “

$ python
>>> import cv2
>>> cv2.__version__
'3.4.3'

Nếu vc2 import không có lỗi thì ok.

Step 8: Cài đặt thêm các lib :

$ workon gurus
$ pip install scipy matplotlib
$ pip install scikit-learn
$ pip install scikit-image
$ pip install mahotas imutils Pillow json_minify

Step 9:

Download image & test :

$ cd ~
$ wget https://gurus.pyimagesearch.com/wp-content/uploads/2015/03/pyimagesearch_gurus_logo.png

Tạo file test_install.py:

import cv2
image = cv2.imread("pyimagesearch_gurus_logo.png")
cv2.imshow("Test Image", image)
cv2.waitKey(0)

Thực thi test_install.py

$ workon codedao
$ python test_install.py

Nếu như hiển thị image thì ok, kết thúc cài đặt môi trường để chuẩn bị cho việc học OpenCV.

Các bạn đón đọc tiếp bài sau .

BÌNH LUẬN

Nhập bình luận của bạn
Vui lòng nhập tên