はじめに
MacにPythonの開発環境を構築する方法についてまとめました。
ここではHomebrewとpyenv、Python、OpenCVをインストールして、PythonからOpenCVが使える環境構築について解説します。
環境構築の手順
Pythonの環境構築の手順とインストールするバージョンは以下の通りです。
- Homebrewのインストール
- pyenvのインストール
- Pythonのインストール
- 仮想環境の作成
- OpenCVのインストール
インストールするMacは本投稿執筆時で最新のmacOS Sequoia 15.0.1 です。
Homebrew
Homebrewとは
Homebrewはパッケージ管理システムの一つです。パッケージ管理システムは主にオープンソースのアプリやライブラリなどを依存関係も含めてインストール/アンインストールを一元管理するもので、macOS以外にLinuxでも動作します。
Homebrewのインストール
HomebrewのWebサイトにインストールのためのコマンドが掲載されています。
赤い下線部分がHomebrewをインストールするコマンドです。赤い矢印で示すアイコンをクリックするとインストールスクリプトをコピーすることができます。
下記にもスクリプトを貼っておきます。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ターミナルを起動して、コピーしたインストールスクリプトをペーストして、リターンキー押下するとインストールが開始されます。
pyenv
pyenvとは
pyenvはPythonのバージョンをインストールするためのツールです。複数のバージョンをインストールして切り替えたり、ディレクトリ毎にインストールするバージョンを変えて、個別に管理するために使用します。
pyenvのインストール
インストールはHomebrewから行います。ターミナルで下のコマンドを実行します。
$ brew install pyenv
続いて、下のコマンドを実行して、.zshrcにPythonのパスの設定を行います。
設定の内容はpyenvのGitHubに記載されています。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc
次のコマンドで設定を反映させます。
$ source ~/.zshrc
Python
インストール可能なバージョンを調べる
pyenvでインストール可能なバージョンを下のコマンドで確認することが出来ます。
その中から、自分がインストールするバージョンを選択します。
$ pyenv install -list
実際にインストール可能なバージョンを確認してましょう。
$ pyenv install -list 2.1.3 2.2.3 2.3.7 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5.0 (以下省略)
インストール可能なバージョンがたくさん表示されます。
anacondaやironpythonなどを一覧に見ることができますが、執筆時点でのPythonの安定版の最新バージョンである3.11.1をインストールします。
Pythonのインストール
% pyenv install 3.13.0
何やら、"Python lzma extension"がインストールできなかったという警告が表示されました。
Python自体は一応インストールできているようですが、気持ち悪いので対処したいと思います。
$ pyenv install 3.13.0 python-build: use openssl@3 from homebrew python-build: use readline from homebrew Downloading Python-3.13.0.tar.xz... -> https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tar.xz Installing Python-3.13.0... python-build: use readline from homebrew python-build: use zlib from xcode sdk Traceback (most recent call last): File "<string>", line 1, in <module> import lzma File "/Users/XXXXXXX/.pyenv/versions/3.13.0/lib/python3.13/lzma.py", line 27, in <module> from _lzma import * ImportError: dlopen(/Users/XXXXXXX/.pyenv/versions/3.13.0/lib/python3.13/lib-dynload/_lzma.cpython-313-darwin.so, 0x0002): Library not loaded: /opt/homebrew/opt/xz/lib/liblzma.5.dylib Referenced from: <43601EBD-7B37-34FA-8EFB-CA15A3C01EAD> /Users/XXXXXXX/.pyenv/versions/3.13.0/lib/python3.13/lib-dynload/_lzma.cpython-313-darwin.so Reason: tried: '/opt/homebrew/opt/xz/lib/liblzma.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/xz/lib/liblzma.5.dylib' (no such file), '/opt/homebrew/opt/xz/lib/liblzma.5.dylib' (no such file) WARNING: The Python lzma extension was not compiled. Missing the lzma lib? Installed Python-3.13.0 to /Users/XXXXXXX/.pyenv/versions/3.13.0
上のメッセージを読むと"lzma"見つからなかったようなので、あらかじめ"lzma"をインストールしてからPythonをインストールします。
Homebrewでインストールできないか、検索してみます。
$ brew search lzma ==> Formulae lima If you meant "lzma" specifically: lzma is now part of the xz formula: brew install xz
メッセージで"lzma"は"xz"の一部になっていると教えてくれました。
先ほどインストールしたPython 3.13.0をアンインストールしてから、"xz"をインストールします。
$ pyenv uninstall 3.13.0
続いて、"xz"をインストールしてから、Python 3.11.1を再インストールします。
$ brew install xz
$ pyenv install 3.13.0 python-build: use openssl@3 from homebrew python-build: use readline from homebrew Downloading Python-3.13.0.tar.xz... -> https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tar.xz Installing Python-3.13.0... python-build: use readline from homebrew python-build: use zlib from xcode sdk Installed Python-3.13.0 to /Users/XXXXXXX/.pyenv/versions/3.13.0
警告が出ることなくインストールできました。
バージョンを指定する
次はpyenvでバージョンの確認をします。pyenv versions
でインストール済みのPythonのバージョンの一覧を確認することが出来ます。
% pyenv versions * system (set by /Users/XXXXXXX/.pyenv/version) 3.13.0
pyenvでは、今いるディレクトリ以下(local)で優先されるされるPythonのバージョンと、システム全体(global)でのPythonのバージョンを切り替えることが出来ます。pyenv versions
で先頭に”*”(アスタリスク)がついている方がglobalであることを示しています。
globalのバージョンを3.11.1に変更します。
% pyenv global 3.13.0
変更が反映されているか確認します。
% python --version Python 3.13.0
OpenCV
OpenCVとは
OpenCVは”Open Source Computer Vision Library”を略したもので、オープンソースの画像処理ライブラリです。
C++言語で開発されたライブラリですが、現在では様々なプログラミング言語をサポートしていて、Pythonで利用することも出来ます。
OpenCVのインストール
OpenCVをPythonで利用するためにpipというツールを使用してインストールします。
pipとはPythonの標準機能として組み込まれたPythonで開発されたパッケージを管理するためのパッケージ管理システムです。
ターミナルでpipを操作します。パッケージをインストールするためのコマンドは以下の形式となります。
OpenCVをインストールするコマンドは下の様になります。
$ python -m pip install opencv-python
おわりに
macOSにPython をインストールする過程を解説しました。
pyenvを使うことで複数のバージョンを簡単にインストールできて、バージョンの切り替えも行うことも可能です。
また、本投稿でOpenCVを利用できる環境が整いましたので、下の記事を参考にOpenCVを使ってみてください。
下の投稿では、コードエディタのVisual Studio Code(VS Code)を使って、Pythonのデバッグができる環境を整えるまでを解説しています。
最後までご覧頂きありがとうございました。
(広告)Python関連書籍をAmazonで探す参考リンク
Homebrew
The Missing Package Manager for macOS (or Linux).
GitHub - pyenv/pyenv: Simple Python version management
Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.
1. Command line and environment
The CPython interpreter scans the command line and the environment for various settings. CPython implementation detail: Other implementations’ command line schemes may differ. See Alternate Impleme...
GitHub - opencv/opencv-python: Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.
Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages. - GitHub - opencv/opencv-python: Automated CI...