ちなみにおすすめはvenvのため、作り方の解説はこれのみです
venvはPythonをinstallした段階から入っている標準ライブラリで
pip install venv
をする必要がありません
コマンドプロンプトを開き
C:\>python -m venv Magicode
上記のコマンドを入力して実行
ここでは仮想環境名をMagicodeにしたが、当然なんでもよいです。
実行すると、下記のようなフォルダ構成で仮想環境が作成されます。
Magicode
├─ Include
├─ Lib
│ └─ site-packages
├─ Scripts
│ ├─ activate # 仮想環境に入るためのファイル
│ ├─ activate.bat
│ ├─ Activate.ps1
│ ├─ deactivate.bat
│ ├─ pip.exe
│ ├─ pip3.x.exe # xは導入バージョン
│ ├─ pip3.exe
│ ├─ python.exe
│ └─ pythonw.exe
└─ pyvenv.cfg
一番手抜きなやり方はD&Dでコマンドプロンプトにactivateファイル(拡張子なし)をぶち込み、
C:\>C:\Magicode\Scripts\activate
enterを押せば仮想環境に入ることができます。
(Magicode) C:\>
上記のように仮想環境名が()でくくられたら成功した証拠
(Magicode) C:\>deactivate
C:\>
deactivateで仮想環境から出ることも可能
他の仮想環境に移りたい場合は、わざわざでずとも、activateで開けば入ることが可能です。
赤色で囲まれた部分を押すと上部に下記の表示が出てきます。
インタープリターの選択では仮想環境内のpython.exe
を選択すること(activateではない)
これで仮想環境内のpythonを使用することが可能になります。
おまけ
VScodeをNotebookモードで開いている場合、カーネル選択で既存に使用したpython以外の選択ができません。
新たな環境を使用したい場合、一旦pyファイルを開いてから使用したいインタープリターを選択後、カーネルの選択を開いてみてください。
pipを使いライブラリをインストールする場合、コマンドプロンプトかパワーシェルを使うことが多いですが、
めんどい
毎回仮想環境に入るのはどうあがいてもめんどくさい!
というわけで C:\Users\user_name\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Toolsにあるコマンドプロンプトのショートカットを適当な場所にコピーします (cmdで検索してファイルの場所を開くから出てくるコマンドプロンプトのこと)
右クリックからプロパティを開き、リンク先を編集
%windir%\system32\cmd.exe
/k"C:\Magicode\Scripts\activate"
を書き足し
%windir%\system32\cmd.exe /k"C:\Magicode\Scripts\activate"
上記に変えたら保存で終了
コマンドプロンプトを開いたたときに
(Magicode) C:\>
()が出てきたら成功
作業フォルダー(S):の部分も編集すれば開いたときにディレクトリーを移動することなく望みの場所を開くことができます。
ちなみにMac編はない
Pythonの標準ライブラリは標準で入っているとは限らず、
例えばwindowsでLinuxの仮想環境を作り、そこにpythonを入れた場合はvenvがありません(なんならpipもない)
sudo apt install python3.x-venv
venvに失敗したときは、上記のコマンドを使いインストールしてください。
さらにpythonのアップデート方法について……って調べてたけど
Windows、ラズパイ、wslと多岐にわたったので、Pythonのバージョンアップは別途分けます。
Magi@code:~$ python -m venv Magicode
仮想環境を作る方法はWindousと同じですが、入り方が少し違います
Magi@code:~$ source /home/Magic/Magicode/bin/activate
sourceを付ける手間が無駄に増えましたが、これで実行すれば仮想環境へ入ります
(Magicode) Magi@code:~$
Windoswと同じく()でくくられていれば成功
ちなみにコマンドプロンプトを開けば一発でOKの方法を探したところエイリアスを活用することにしました。
Magi@code:~$ alias venv="source /home/user_name/Magicode/bin/activate"
venvの部分は自由に選べます。また、user_nameや仮想環境名は自身のものに合わせてください
Magi@code:~$ venv
エイリアスを有効した後にコマンドを入力すると下記のように仮想環境へと入れます。
(Magicode) Magi@code:~$
まぁ、閉じるとやり直しなんですが。(意味ないじゃん)
そんなわけでbashrcを開いて登録します。
/home/user_name/.bashrc
の構成で入っており、適当なエディタで開けばいいかと思います。
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
開くと上記のように記載された部分がありますので、
alias venv="source /home/user_name/Magicode/bin/activate"
このように書き加えるだけで今後venvを入力するだけで仮想環境に入れるようなります。
windowsは仮想環境のファイルをゴミ箱に突っ込むだけでOK
Linuxは何故かうまく消えないので
rm -rf
コマンドを使うと消えます。
Magi@code:~$ rm -rf Magicode
自分の場所には気をつけて
cd
で必要に応じて仮想環境があるひとつ上の上位階層か、絶対パスにて参照してください。
installしたライブラリは下記コマンドを入力することで書き出すことができます。
pip freeze > requirements.txt
インストールする場合には
pip install -r requirements.txt
これで、必要だったライブラリ情報を保存しておけます。
仮想環境って言葉になんかワクワクさせられる!……という間抜けな理由だけで作ってるわけではないです。
(理由の一つではあったりする)
最近GPU搭載のPCを手に入れまして、Pytorchを使って学習しているわけですが、メモリーオーバーで学習が止まることが多いです。
バッチサイズの見直しとかでもいいのですが、長い時間かけてCPUで済ませてしまうときもあります。
そんなときに便利なのが仮想環境
PytorchではGPUを使用するバージョンとCPUを使用する2つのバージョンが用意されています。
だが、切り替えるためにいちいちアンインストールしてたら話にならない。
そんなわけで2つ用意する意味があったりします。
PyInstallerを使ってexe化をする際においても、余計なライブラリがない環境を準備する際においても有用ですので是非お試しあれ。
参考サイト
venv: Python 仮想環境管理
【Python】venvを使った仮想環境の作り方
3ステップで完了、Pythonの仮想環境をショートカット一発で開く
【Linux】エイリアスの設定方法