2024年3月に新発売したM3チップ搭載のMacbookを最近購入したので、早速Pythonプログラミング環境を構築します。今回は主に自分用に最もポピュラーな仮想環境構築手法であるvenvとVSCodeによるPython環境構築の備忘録を残します。
こんにちは。wat(@watlablog)です。2024年に新しくM3チップ搭載のMacbookを購入したので、venvを使ったPythonプログラミングの環境構築方法をまとめておきます!
PC環境
本記事のPC環境を以下に示します。基本はIntelチップのMacbookで行ったインストール手順と似ていると思いますが、それで詰まるところがないかどうかを確認する意味も込めて記事を書きます。
macOSにPython3をインストールする方法をまとめてみた
Mac | OS | macOS Sonoma 14.3 |
---|---|---|
チップ | Apple M3 | |
CPU | 1.4[GHz] | |
メモリ | 16[GB] |
Homebrewをインストール
Xcodeのインストール
HomebrewをインストールするためにはXcodeが必要です。次のコマンドをターミナルに打ち込み、Xcodeをインストールしましょう。
1 |
xcode-select --install |
最初は次のウィンドウがでるかもしれません。インストールをクリックしてコマンドラインデベロッパツールをインストールします。
ダイアログに従ってインストールした後に再度上記コマンドを実行すると、すでにインストールされているというメッセージが表示されます。これでインストールはできているので次に進みましょう。
Homebrewのインストール
Homebrewの公式ページからコマンドをコピーします。途中パスワードを要求されたり、ENTERをクリックする場面があるので見落とさないようにしてください。
ここが以前の記事と異なる部分ですが、Next stepと書かれている部分のコマンドを再度ターミナルで実行します(以下のハイライトされている部分)。これはHomebrewのPATHを通すコマンドであり、このコマンドを実行しないとbrewコマンドが通りません。
1 2 3 4 5 6 7 |
==> Next steps: - Run these two commands in your terminal to add Homebrew to your PATH: (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/wat/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" - Run brew help to get started - Further documentation: https://docs.brew.sh |
実行したら、次のコマンドを実行し、Homebrewのバージョンが表示されるか確かめてみましょう。zsh: command not found: brew
と表示されてしまったらPATHが通っていないか、Homebrewのインストールが終了していません。
1 |
brew -v |
xzのインストール
次のコマンドでxzをインストールしましょう。
1 |
brew install xz |
このコマンドを実行してxzをインストールしておかないと、後ほどPythonをインストールする段階で以下のWARNINGメッセージが出ます。
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?Pythonのインストール
上記の準備が終了したら、Pythonをインストールしましょう。Pythonは以下の記事と同じく、Homebrewでインストールします。
macOSにPython3をインストールする方法をまとめてみた
ただし、今回は venvで仮想環境をつくるので、バージョンを指定してPythonをインストールしましょう。まずはこの記事を執筆した時の最新バージョンである Python 3.12をインストールします。ここで、 brew installコマンドでバージョンを指定する場合は Python@3.12のように @マークをいれましょう。
1 |
brew install python@3.12 |
複数バージョンのPythonを入れて仮想環境の切り替えをテストするために、 Python 3.11も入れてみましょう。
1 |
brew install python@3.11 |
brewでインストールしたPythonを調べるためには次のコマンドを実行します。 python@3.11や python@3.12が表示されていると思います(入っていなかったらインストールでエラーがでているかも)。
1 |
brew list |
pythonコマンドを使ってPythonインタプリタが起動するか確かめてみましょう。バージョンを指定してPythonインタプリタを起動する方法を次に示します(ここではPython 3.12を指定しました)。Pythonインタプリタを抜けるには quit()を実行します。
1 |
python3.11 |
これでPythonのインストールは完了です。
VSCodeを使ってみる
VSCodeのインストール
Pythonがインストールできたら、次は統合開発環境(IDE)をインストールします。今回はPyCharmではなくVSCode(Visual Studio Code)を使ってみます。VSCodeは世界中のプログラマの間で人気のエディタです。流行りにのって使ってみよう!というノリだけですが、早速次のリンク先からインストーラーをダウンロードしてみましょう。
・https://code.visualstudio.com/
zipファイルを解凍したらそのまま使えます。macOSであればLaunchpadに入れておくと良いと思います。
VSCodeの起動とPython Extension Packのインストール
VSCodeを起動したら、①Extensionsをクリックし、検索窓に②Pythonと入力します。次に③Python Extension PackのInstallボタンをクリックしてインストールを開始します。
VSCodeをターミナルから起動できるようにする
この後仮想環境を設定する場合、ターミナルからVSCodeを起動できるようにしておいた方が便利です。VSCode上で Command+ Shift+ Pでコマンドパレットを立ち上げ、 Shellと打ちましょう。 Shell Command: Install 'code' command in PATHを選択して実行します。途中macOSから色々な許可を求められたり、パスワードを入力する場面があるかもしれません。
これでVSCodeをターミナルから起動できる codeコマンドが有効になります。一度VSCodeをシャットダウンしておきましょう。
venvで仮想環境を使う時のメモ
仮想環境を作成する
それでは venvの使い方をメモします。 venvを使うことで、複数のPythonバージョンや pip installでインストールする外部ライブラリのバージョンを使い分けることができます。
まずはPythonバージョンを指定して仮想環境を作ります。 python3.12でPython 3.12を指定し、 -m venvでPythonのモジュールから venvを呼び出します。最後の venv312は仮想環境の名前であり、自由に決めることができます。今回はPython 3.12の仮想環境ということがわかるようにしてみました。
1 |
python3.12 -m venv venv312 |
仮想環境を有効化する
続いて、次のコマンドで仮想環境を有効化しましょう。 venv312の部分は先ほど自分で決めた仮想環境の名前です。
1 |
source venv312/bin/activate |
実行すると次の表示になると思います。コマンド入力待ち状態の時に (venv312)と表示されるようになりましたが、これは先ほど作成した仮想環境の中でコマンドを入力できるようになったことを意味します。
1 2 |
~ % source venv312/bin/activate (venv312) ~ % |
特にバージョンを指定せずに pythonと実行してみます。Python 3.12.4が立ち上がりました。これでOKです。3.11で仮想環境を作成したらPython 3.11が呼び出されることも確認してみてください。
1 2 3 |
(venv312) ~ % python Python 3.12.4 (main, Jun 6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin Type "help", "copyright", "credits" or "license" for more information. |
pip installでパッケージをインストールする
pythonインタプリタから quit()で抜けた後、外部ライブラリをインストールしてみましょう。ここではNumPyをインストールしてみます。
1 |
pip install numpy |
仮想環境の中では、macOSといえど pip3 installではなく pip installで構いません。
VSCodeをターミナルから立ち上げて使用する時のメモ
VSCodeをアイコンから起動すると、コード実行ボタンで仮想環境のPythonを参照してくれないことがあります。この問題を解消するためにはおそらくVSCode上の設定をいじくる必要があると思いますが、ターミナル上で仮想環境に入った上でVSCodeを起動するとこの問題は解決します。そのため最後に一般的な仮想環境におけるVSCodeプログラミング方法をメモします。
新規Pythonファイルを作成してプログラミングする
仮想環境に入った上で、 code .を実行してみます。するとVSCodeが立ち上がります。
1 |
code . |
New Fileをクリックします。
Python Fileを選択します。
Pythonコードが書けるエディタが表示されますが、ここで画面の右下に注目してください。 venv312と先ほど作成した仮想環境が設定されていればOKです。この後、Save Asでファイルを保存しておきましょう。
先ほど外部ライブラリであるNumPyをインストールしたので、NumPyを使ったコードを書いてエラーが出ないことを確かめましょう。ここでは np.array()を書いています。コードを書いたら▷ボタンで実行します。するとTERMINALに出力結果が表示されます。
仮想環境でインストールした外部ライブラリを使ってエラーのない実行結果が得られたので成功です。
仮想環境を抜ける
仮想環境を抜ける時は deactivateコマンドを実行します。
1 |
deactivate |
既存の仮想環境でPythonコードを読み込んで編集・実行する
仮想環境を抜けている状態から、既存のPythonコードを編集するには、以下のコマンドからスタートします。 venv312はすでに作成済みの仮想環境です。
1 |
source venv312/bin/activate |
ここから次のコードを実行してVSCodeを起動します。
1 |
code . |
Openで既存のPythonコードが入ったフォルダを開くだけです。後は先ほどと同じく、コードの編集と▷ボタンによる実行が可能です。
M3 Macbookで遭遇したエラー
早速当WATLABブログでおなじみのPyAudioを使おうと思いましたが、単純に pip installしようと思ったら次のエラーが出ました。
1 |
ERROR: Could not build wheels for pyaudio, which is required to install pyproject.toml-based projects |
これは仮想環境の外で以下の brew installをしておくことで解決しました。備忘録のためにメモしておきます。
1 |
brew install portaudio |
まとめ
この記事では新しく購入したM3(Appleシリコン) MacbookにPython環境を構築する方法の備忘録をメモしました。
特にM3用というわけではありませんでしたが、今回は venvによる仮想環境の構築方法と切り替え方法、Visual Studio Codeによるコーディングの方法を簡単に紹介しました。これまでWATLABブログはシステムにインストールしたPythonを使ってプログラミングをしていましたが、よりプロっぽい使い方としてバージョンを切り替えられる方法にシフトしてみました。
仮想環境を使うことで仕事の種類に応じてPythonやパッケージのバージョンを個別に管理することができます。システムPython1個だけだと、別のバージョンの環境を揃えるのに一度関連ライブラリのアンインストールをしなければなりません。今回は基礎中の基礎である使い方を紹介しましたが、VSCodeをターミナルから起動する方法についての記事はなかなか見当たらなかったので、個人的には少し勉強になりました(pyhackで教えていただきました)。
venvの使い方がわかり、これで新しいMacでPythonが使えるようになりました!
Xでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!