経緯
Anacondaの商用利用は制限され、仕事で使いづらくなった。
condaの代わりの仮想環境管理ツールは、pip+venvが良いらしい。
そこで、自分用の手順をまとめた。
本手順で、以下のことができるようになる。
-
- プロジェクトごとに仮想環境を作成
-
- JupyterLabはショートカットから一発起動
- カーネルは、Jupyterに追加した仮想環境を選択して実行
想定環境
-
- Windows10 Pro
- Python 3.9.x
作業手順
1.Pythonのインストール
公式ページからダウンロード・インストールする。
https://www.python.org/downloads/
※2022年2月17日時点:今回は最新バージョン(3.10.x)ではなく3.9x.をインストールした。pathlibがインストール出来なかったため。
2.ローカル環境の構築
ローカル環境はjupyterlabやpandasなどよく使うパッケージを入れておく。
作業内容コマンド備考pipの更新
ローカル環境の構築
pip install -U pip --user
ローカル環境の構築
pip install jupyterlab numpy pandas scipy scikit-learn statsmodels pandas-profiling matplotlib seaborn jupyter ipykernel tqdm pathlib argparse pillow openpyxl xlrd bokeh holoviews plotly graphviz pydot h5py html5lib json5 pyyaml protobuf pandoc pep8 pytest beautifulsoup4 regex toml urllib3 diff-match-patch isort markdown markdown2
Anacondaでインストールされるパッケージを参考にした。参考:Anacondaでデフォルト インストールされるパッケージのリスト
https://docs.anaconda.com/anaconda/packages/py3.9_win-64/
3.仮想環境の構築
新しくプロジェクトを作るたびに、以下のコマンドを実行する。
作業コマンド備考(コマンドプロンプト起動)
・基本的にプロジェクトに仮想環境は1つだけのため。
・プロジェクトルートの仮想環境フォルダ名がvenvとなり、venvを使っているのが一目でわかる。仮想環境のActivate
適宜、プロジェクトで使うパッケージを入れること┗例)データサイエンス想定
JupyterLab起動
cmd
PowerShellで作業中の場合。PowerShellでは、次のactivateスクリプトが実行できないため。仮想環境の作成python -m venv venv
環境名をvenvにした理由・基本的にプロジェクトに仮想環境は1つだけのため。
・プロジェクトルートの仮想環境フォルダ名がvenvとなり、venvを使っているのが一目でわかる。仮想環境のActivate
.\venv\Scripts\activate
コマンドプロンプトでは、/をフォルダ区切りとして解釈できないので\で区切った。(仮想環境にパッケージインストール)適宜、プロジェクトで使うパッケージを入れること┗例)データサイエンス想定
pip install jupyterlab numpy pandas scipy scikit-learn statsmodels pandas-profiling matplotlib seaborn jupyter ipykernel tqdm pathlib argparse pillow openpyxl xlrd bokeh holoviews plotly graphviz pydot h5py html5lib json5 pyyaml protobuf pandoc pep8 pytest beautifulsoup4 regex toml urllib3 diff-match-patch isort markdown markdown2
以下のパッケージはエラー出たので入れなかった。 sqlite hdf5 jpeg yaml curl openssl pytorch仮想環境をjupyterカーネルに追加ipython kernel install --user --name=(プロジェクト名)
JupyterLab起動
jupyter lab
4.JupyterLab起動用バッチの作成・スタートメニューに登録
Jupyter起動バッチファイルをスタートメニューに登録し、作業開始時にすぐ作業ページを開けるようにしておく。
プロジェクト期間が終わったらスタートメニューから削除すればよい。

※ローカル環境にjupyterlabをインストールしていないと、バッチを実行しても何も起こらず終了するので注意。
利用手順



おまけ:その他よく使うコマンド
pip関連
作業コマンド備考requirements.txtの作成pip freeze > requirements.txt
venv関連
作業コマンド備考仮想環境のDeactivate.\venv\Scripts\deactivate
仮想環境の削除rd venv /s仮想環境のフォルダをまるごと削除すればよい。 アクセス拒否されて削除できないときは、既存のPythonプロセスによって占有されている場合があるので、一度サインアウトしてから再試行すること。仮想環境名の変更(削除して作成)rd venv /s
python -m venv (新環境名)venvには環境名変更コマンドがないので、venvディレクトリを削除して正しい名前で新しいディレクトリを作成する。 削除せずに、フォルダ名とactivate.batを編集する方法もある。
参考:directory – How to rename a virtualenv in Python? – Stack Overflow
仮想環境の削除rd venv /s仮想環境のフォルダをまるごと削除すればよい。 アクセス拒否されて削除できないときは、既存のPythonプロセスによって占有されている場合があるので、一度サインアウトしてから再試行すること。仮想環境名の変更(削除して作成)rd venv /s
python -m venv (新環境名)venvには環境名変更コマンドがないので、venvディレクトリを削除して正しい名前で新しいディレクトリを作成する。 削除せずに、フォルダ名とactivate.batを編集する方法もある。
参考:directory – How to rename a virtualenv in Python? – Stack Overflow
参考 ?venv: Python 仮想環境管理 – Qiita
Jupyter関連
作業コマンド備考利用可能なカーネルの表示jupyter kernelspec list
カーネルを追加ipython kernel install –user –name=(プロジェクト名)
カーネルを削除jupyter kernelspec uninstall (プロジェクト名)
カーネルを追加ipython kernel install –user –name=(プロジェクト名)
カーネルを削除jupyter kernelspec uninstall (プロジェクト名)
参考 Jupyterで複数カーネルを簡単に選択するための設定 – Qiita