背景
- windows上でpython開発環境を構築
- プロジェクト毎に環境を分けたい
- Anacondaを使いたくない
- too much感がある
- 調べ物をするときに、conda前提で書かれている例が少ない(ような気がする)
Summary
- いろいろ試しましたが、WSL2, Ubuntu20.04, pipenv, VisualStudioCodeが使いやすいと判断
- 試した過程は記述していません
- 手順だけ記述します、慣れれば5分くらいで構築できます
前提
- Windows 10 Home (2020/10ぐらい)
- VisualStudioCode(以下、VSCODE)がインストールされていること
手順
- WSL2の環境をセットアップする(ここが一番時間かかる)
- ※InsiderProgramに入らなくても、いつの間にかWin10HomeでもWSL2が使えるようになっていた
- 手順はこちらが一番参考になる
- MicrosoftStoreからUbuntu20.04を探してインストールしておく
- 無事にUbuntu20.04が起動できたら、更新しておく
$ sudo apt update
$ sudo apt upgrade
- ※BIOSでCPUの仮想化がENABLEになっていないと、起動時にエラーが発生するので要注意
- python3がデフォルトでインストールされている
- pip3をインストール
sudo apt install python3-pip
- pip3でpipenvをインストール
- sudoでインストールすること
- 任意のプロジェクトフォルダを作成しておく
- 例:
$ mkdir ~/work/python-test
$ cd ~/work/python-test
- 例:
- 初期化
- プロジェクトフォルダ直下で下記を実行
-
pipenv --python=/usr/bin/python3
- FIXME: pipenv --python 3をやろうとするとwindowsのpythonを見に行ってしまうので明示的に指定
- Pipfileが生成されていることを確認
-
- プロジェクトフォルダ直下で下記を実行
- 使いたい任意のパッケージをインストール
pipenv install [package]
- Pipfile.lockファイルが生成されていることを確認
- VSCODEの拡張機能をインストール
- 「Remote - WSL」
- VSCODEとWSLの接続
- いろいろやり方がある。
- 方法1:VSCODEの左下のバーから接続して、VSCODEにてUbuntu上のフォルダを開く
- 方法2:Ubuntu上で
$ code
してから、VSCODEにてUbuntu上のフォルダを開く - 方法3:Ubuntu上でプロジェクトフォルダ内に移動して
$ code .
- ※初回のcodeコマンド実行時にVSCODEのサーバープログラムが自動でインストールされる
- いろいろやり方がある。
- VSCODE内でpython開発用の拡張機能をインストール
- 最低限「ms-python.python」だけあればよい
- ※拡張機能自体は接続先毎にインストールが必要になるので要注意
- プロジェクトフォルダ内に適当なpythonファイルを作成して開発スタート(**.py)
- 左下のpython interpereterで、([directory name]: pipenv)のものを選ぶ(初回は大体pipenvになっていない)
-
- 以上で実行、デバッグ可能となる!
- 実行方法、デバッグ方法の説明は割愛
おまけ
- バージョン管理
- PipfileとPipfile.lockは両方ともバージョン管理すること
- gitなどで、別の環境で開発を開始する場合は、両ファイルが置いてあるフォルダで、
$ pipenv install
すれば自動的に依存モジュールがインストールされて開発環境が作られる
- 仮想環境を削除する場合
$ pipenv --rm
- インストールされるモジュールの場所
- デフォルト
~/.local/share/virtualenvs/[フォルダ名]-[ランダム文字列]
- プロジェクトフォルダ配下に置きたい場合
$ export PIPENV_VENV_IN_PROJECT=true
- プロジェクトフォルダ配下で初期化
- プロジェクトフォルダ配下に.venvフォルダができて、その中に設置されるようになる
- デフォルト