経緯
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.仮想環境の構築
新しくプロジェクトを作るたびに、以下のコマンドを実行する。
作業 | コマンド | 備考 |
---|---|---|
(コマンドプロンプト起動) | 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起動バッチファイルをスタートメニューに登録し、作業開始時にすぐ作業ページを開けるようにしておく。
プロジェクト期間が終わったらスタートメニューから削除すればよい。
作業 | コマンド | 備考 |
---|---|---|
startup_jupyterlab.bat | :カレントディレクトリをプロジェクトルートに変更 cd /d %~dp0 jupyter lab |
|
スタートメニュー登録用のショートカットを作成 | ホットキー:右クリック>S | |
ショートカットのリンク先を編集 | cmd /c "(startup_jupyterlab.batへの絶対パス)" |
| コマンドプロンプトにbatファイルをパラメータとして渡すようなリンクに修正している。 リンク先をコマンドプロンプトにするとスタートメニューに登録できるようになる。 |
※ローカル環境にjupyterlabをインストールしていないと、バッチを実行しても何も起こらず終了するので注意。
利用手順
(プロジェクトフォルダを開いた状態で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 |
参考 📰venv: Python 仮想環境管理 - Qiita
Jupyter関連
作業 | コマンド | 備考 |
---|---|---|
利用可能なカーネルの表示 | jupyter kernelspec list | |
カーネルを追加 | ipython kernel install --user --name=(プロジェクト名) | |
カーネルを削除 | jupyter kernelspec uninstall (プロジェクト名) |