🎉
WindowsのPython環境構築のパターン
概要
Pythonの環境構築では、インタプリタ(python)バージョン切替、仮想環境(インタプリタバージョンとパッケージのセット)切替、そしてパッケージ管理を選定する必要があります。
ここではWindowsのPython環境構築のパターン、パターンごとの手順(リンク)、そして一部のパターンについて説明を記載します。
Python環境構築のパターン
Windowsではおおむね以下のパターンとなります。
パターン | どこに構築するか | インタプリタ切替 | 仮想環境切替 | パッケージ管理 |
---|---|---|---|---|
Anaconda | Windows | Anaconda | Anaconda | Anaconda |
Python + py.exe + venv + pip | Windows | py.exe | venv | pip |
WSL2(Ubuntu) + pyenv + venv + pip | WSL2(Ubuntu)上 | pyenv | venv | pip |
Python + py.exe + pipenv | Windows | py.exe | pipenv | pipenv |
WSL2(Ubuntu) + pyenv + pipenv | WSL2(Ubuntu) | pyenv | pipenv | pipenv |
WSL2(Ubuntu) + pyenv + poetry | WSL2(Ubuntu) | pyenv | poetry | poetry |
WSL2(Ubuntu) + Docker | WSL2(Ubuntu) | - | - | pip |
💡 個人的には、なるべく標準添付ということを考えてpy.exe(pyenv) + venv + pipを採用しています。
💡 JupyterLabなどで試行錯誤による機械学習が目的で、利用規約(商用利用の条件(無償 or 有償))に問題ない場合は、Anaconda(Miniconda)もお勧めと思います。
💡 WSL2上のDockerからGPUを使用するCUDA on WSL2が正式版になれば、WSL2(Ubuntu) + NVIDIA Docker on Linuxも検討対象となると思います(2021年1月31日時点でプレビュー版)。
パターンごとの手順
Windows 用のパターンごとの手順をリンクします。
💡 Anaconda の手順は簡単(Anacondaからインストーラーをダウンロードしてインストール)なので省略します。
パターン | どこに構築するか | 参考リンク |
---|---|---|
Python + py.exe + venv + pip Python + py.exe + pipenv |
Windows | Python: Anacondaが有償化されて困っている人に贈る、Pythonのパッケージ管理 CUDA(GPU): Windows版TensorFlow 1.13~1.15でGPUを使う (CUDAのインストール) |
WSL2(Ubuntu) + pyenv + venv + pip | WSL2(Ubuntu) | Windows 10 WSL 2(Linux 用 Windows サブシステム) + LinuxでのPython環境作成手順 |
WSL2(Ubuntu) + Docker | WSL2(Ubuntu) | VSCodeでWSL2上のDockerコンテナ内コードをデバッグ |
WSL2(Ubuntu) + NVIDIA Docker on Linux | WSL2(Ubuntu) | 手順: CUDA on WSL2 & VSCode Remote Containersによる開発環境構築・検証 最新情報: 待ってました CUDA on WSL 2 |
WSL2(Ubuntu) + JupyterLab | WSL2(Ubuntu) | + Miniconda、WSL2構築後の手順: WSL 2 環境で miniconda を使って JupyterLab を簡単に起動できるようにした話 + miniforge、WSL2構築後の手順: WSL 2 環境で miniforge を使って JupyterLab を簡単に起動できるようにした話 |
各パターンの説明
💡 pipenv、poetry は後程追加予定です。
Anaconda
- Windows上にAnacondaをインストール
- インタプリタ切り替え、仮想環境切り替え、パッケージ管理をまとめて行うことができる
- 機械学習に関連したライブラリが最適化されている(速度が速い)
- 公式リポジトリの利用規約は要確認(商用利用では条件によっては有償)
Python + py.exe + venv + pip
- Windows上にPython Windows版をインストール
- Windows版のPythonはインタプリタ切替のランチャ(py.exe)が標準添付
- venv等で仮想環境を構築し、pipでパッケージ管理を行う
- venvはPython3.3以降に標準付属
- pipはPython3.4以降に標準付属
- Windowsでは動作しないライブラリもある(例:uvloop)
Python + py.exe + venv + pip コード例
py -3.6 -m venv .venv
& .\.venv\Scripts\Activate.ps1
python --version
pip install -r requiremtns.txt
WSL2(Ubuntu) + Python + pyenv + venv + pip
- Windows上にWSL2でUbuntuをインストールし、Ubuntu上にPython環境を構築
- pyenvをインストールしてインタプリタのインストールと切り替え
- venv等で仮想環境を構築し、pipでパッケージ管理を行う
- venvはPython3.3以降に標準付属
- pipはPython3.4以降に標準付属
- WSL2の機能でUbuntu上のファイルをWindowsエクスプローラーで操作できる
WSL2(Ubuntu) + Python + pyenv + venv + pipコード例
pyenv shell 3.6.9
python -m venv .venv
source .venv\bin\activate
python --version
pip install -r requiremtns.txt
💡 WSL2上のDockerからGPUを使用する実装も進んでいます(2021年1月31日時点でプレビュー版)。
待ってました CUDA on WSL 2 - Qiita
WSL2(Ubuntu) + Python + pipenv
🚧 作成中
WSL2(Ubuntu) + Python + poetry
🚧 作成中
Discussion