Magicode logo
Magicode
1
6 min read

Python仮想環境作成から、お手軽に入る方法まで

Python仮想環境導入方法

  • 仮想環境の種類
    • venv
    • virtualenv
    • pyenv
    • conda

ちなみにおすすめはvenvのため、作り方の解説はこれのみです

venv-Windows編

仮想環境の作り方&入り方

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で開けば入ることが可能です。

VScodeでの仮想環境入り方

赤色で囲まれた部分を押すと上部に下記の表示が出てきます。

インタープリターの選択では仮想環境内の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):の部分も編集すれば開いたときにディレクトリーを移動することなく望みの場所を開くことができます。

venv-Linux編

ちなみに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 仮想環境管理

https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e

【Python】venvを使った仮想環境の作り方

https://hibiki-press.tech/python/venv/4567

3ステップで完了、Pythonの仮想環境をショートカット一発で開く

https://majipon.jp/blog/?p=1300

【Linux】エイリアスの設定方法

https://qiita.com/_ydah/items/18d242b632e5486fe912

Discussion

コメントにはログインが必要です。