仕事でちょっと Jupyter Notebook とか触るようになったので、素の Python 開発環境も構築して Python 力高めたいなあということでやってみました。
ちょっと前は何も考えずに Anaconda 入れてしまうレベルだったので、このあたりから読んで心を入れ替えました。
これ読んで Windows でも mac でも苦労なく Jupyter 環境が構築できました。
しかし Trac を触ってた頃から比べると Python のツールチェインも随分様変わりしましたねえ・・。
Python をインストールすると
$ python -m venv <environment directory>
で、venv という OS にインストールされた Python 環境とは隔離された仮想的な Python 環境が手に入ります。仮想といっても VM のようなヘビーなものではなく Python インタープリタやライブラリ環境をフォルダ単位で隔離している程度 (Node.js でいうとプロジェクトの node_modules に node / npm も入っているイメージ) で pyenv とやってることはそんなに変わらなそうです 。ただ、サードパーティではなく Python 標準で提供されているところが正義です。
venv ではターミナルのプロンプトが
(env) $
のように分かりやすい表示になります。
VS Code では、Microsoft 公式の Python 拡張が提供されていますのでインストールします。
VS Code ではプロジェクト単位(workspace 単位) に設定をカスタマイズできます。Python のプロジェクトディレクトリで、venv を作成します。
$ python -m venv env
プロジェクトの Python ファイルを開くと、Python 拡張が導入されていれば Python 環境を選択するプロンプトが表示されますので venv の Python を選びます。
workspace の .vscode/settings.json
を直接編集する場合、macOS では次のように python.pythonPath
を設定します。
{ "python.pythonPath": "${workspaceFolder}/env/bin/python" }
Windows でも同様です。
{ "python.pythonPath": "${workspaceFolder}\\env\\Scripts\\python.exe", "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" }
Windows で統合ターミナルに Git for Windows (MSYS2) の bash を指定していると Python の REPL がうまく動かないし cmd.exe は辛いので PowerShell を指定してます。
ステータスバーに Python 環境が ('env': venv)
のように表示されていれば OK です。
統合ターミナルで Python 使うには、macOS なら
$ . env /bin/activate
Windows なら
PS> .\env\Scripts\activate
で起動する必要があります。これがちょっと面倒かな。venv に入って pip install で numpy など必要なパッケージをインストールしていきます。requirements.txt を追加して必要なパッケージとバージョンを管理することもできます。npm init で package.json が作成される Node.js と比べるとツールがこなれてない感ありますが・・。
Python 拡張で色々コマンドが使えます。
F5 で普通にデバッグできます。
ということで VS Code 上に割と快適っぽい Python 開発環境が構築できました。