pythonの強みの一つとして、豊富で強力なライブラリが使えることがあります。一つの環境でいろいろなライブラリをインストールして使っていると、別のアプリを作成するときに、不要なライブラリが存在したり競合したりすることがあります。pythonでは、仮想環境を構築すると作成するプログラムにあったライブラリのみがインストールされた状態で開発することができます。例えば,DjangoでWeb開発するための環境とTkinterでデスクトップアプリを開発する環境を別々に作成することも可能です。
仮想環境はvenvというコマンドをターミナル上で実行することで簡単に構築が可能です。今回はそんなvenvコマンドを使った仮想環境の構築方法について書こうと思います。
仮想環境の構築
python -m venv 環境構築先のパス
仮想環境を構築するときは、venvコマンドで作成します。例えば現在のディレクトリ(C:\python)にdev001という環境を構築したい場合は以下のコマンドを実行します。
PS C:\python> python -m venv dev001
※vscodeのターミナルで実行した場合、
作成されるフォルダ
フォルダ/ファイル名 | 用途 |
---|---|
Include | |
Lib | 仮想環境で管理するライブラリが格納 |
Lib\site-packages | 仮想環境起動時にinstallしたライブラリを格納 |
Scripts | 仮想環境で使用するPythonのインタプリタが格納 |
pyvenv.cfg | pythonのバージョンなどが記載されている |
仮想環境の切り替え(Windows)
コマンドプロンプトの場合
Windowsのコマンドプロンプトの場合は,仮想環境のScriptsフォルダ配下にactivate.batとdeactivate.batが配置されます。
作成した仮想環境に切り替えたい場合は以下のようにコマンドを実行します。
C:\python\dev001\Scripts\activate.bat
仮想環境から抜ける場合は以下のコマンドを実行します。
C:\python\dev001\Scripts\deavtivate.bat
Powershellの場合
WindowsのPowershellの場合は、以下のコマンドになります。事前に以下のコマンドで実行ポリシーを変更しておく必要があります。
#実行ポリシーの変更
Set-ExecutionPolicy RemoteSigned -Scope Process
#作成した仮想環境への切替 C:\python\dev001\Scripts\activate.ps1 #仮想環境から抜ける場合 C:\python\dev001\Scripts\deactivate.ps1
仮想環境構築のメリット
正直仮想環境を構築せずにプログラミングを行うことはできますが個人的には以下のメリットがあるので仮想環境を構築したほうがいいと思います。
複数のpythonのバージョンを使用できる。
仮想環境を構築することによって、複数のpythonのバージョンを使用することができ、
新しいpythonバージョンを使用する前に動作検証などができます。
ライブラリのバージョンを使い分けることが可能
インストールしているライブラリで大幅な機能変更などがあり、新しいバージョンでは、使いたいメソッドなどが廃止されていることなどがあります。そんな時に、仮想環境で対象のライブラリのバージョンを使い分けることができて便利です。
不要なライブラリを除外してexe化できる
pythonで作ったプログラムをexe化する際に、仮想環境を構築して必要なライブラリのみをインストールしてexe化すると不要なライブラリをexe化する必要がなく起動時に解凍するライブラリも少なくなり、ファイル容量も少なくなるのでプログラムの起動が多少早くなります。
まとめ
- 仮想環境構築はpython -m venv 環境構築先のパスで行う
- 仮想環境を起動したい場合はactivateコマンドを実行する。
- 仮想環境から抜けたい場合はdeactivateコマンドを実行する。
- 仮想環境環境を構築しなくてもプログラムは作れるが今後のためには構築するべき。
コメント