サイドバーの「Django ドキュメント検索」というプレースホルダの入った検索では、Django ドキュメント (Django 2.1) の公式サイト内を検索できます
Python で venv 仮想環境を使う

目次

はじめに

Python 開発ではさまざまなモジュールをインストールしますが、プロジェクト毎に異なるバージョンが必要となることがあります。また、Linux ではシステム設定に Python が用いられることもあり、プロジェクト毎に環境を分離する事が望ましく、仮想環境を利用するのがベストプラクティスです。

Python 3.3 以降では、venv が標準で使えるようになりました。また、従来使われてきた pyvenv は 3.6 以降では非推奨になり、今後は venv の利用が一般的になっていくものと推測されます。この記事では、基本的な venv の使い方と VSCode や PyCharm の設定について紹介します。

仮想環境を作成する

仮想環境を作成するには、python コマンドでモジュール "venv" を実行します。ここで実行する Python の実行ファイルは仮想環境のインタープリタとして取り込まれますので、誤って異なるバージョンの Python を実行してしまわないように注意しましょう。

Python のバージョンを確認する

Python のバージョンは下記で確認できます。

$ python --version
Python 2.7.15rc

Linux の場合、システムで Python が使われているため、デフォルトは上記のように Pytyon2 になっているかもしれません。その場合は、python3 を実行してください。(Windows の場合は、Python3 しかインストールしていなければ python コマンドが Python3 になっているはずです。)

$ python3 --version
Python 3.6.5

仮想環境を作成する

話が逸れてしまいましたが、仮想環境を env/myenv に作成するには下記コマンドを使います。

$ python -m venv env/myenv

Linux の場合のように python3 で実行する必要がある場合は下記のようにします。

$ python3 -m venv env/myenv

venv がインストールされていない時

Ubuntu や Linux Mint で下記のエラーが発生する事があります。

__The virtual environment was not created successfully because ensurepip is not available.
On Debian/Ubuntu systems, you need to install python3-venv package using the following command.

apt-get install python3-venv

You may need to use sudo with that command.

この場合は、下記を実行しましょう。

$ sudo apt install python3-venv

仮想環境を削除する

仮想環境が不要になった場合は、仮想環境のフォルダを削除するだけです。

$ rm -r env/myenv

仮想環境を使う

仮想環境を有効にする

仮想環境を有効にするには、activate スクリプトを実行します。activate スクリプトは仮想環境フォルダの下にありますが、Windows の場合は scripts フォルダ、Linux の場合は bin フォルダになっていてパスが異なりますので注意が必要です。(2つの環境を使っているとよく間違えます。)

Windows の場合:

> env/myenv/scripts/activate

Windows の activate の実体は activate.bat です。

Linux の場合:

$ source env/myenv/bin/activate

 
仮想環境が有効になったら、プロンプトにカッコ付で環境名が表示されるはずです。

(myenv) [jade@MyPC:~]
$

仮想環境を無効にする

無効化するときは単に deactivate コマンドを実行するだけですが、あまり使う必要性はないでしょう。 (使用後はターミナルを閉じれば良いので)

モジュールの操作

モジュールをインストールする

仮想環境にモジュールをインストールするには、activate 済の状態で pip install を実行します。例えば、数値計算で使われる NumPy をインストールする場合は、下記のようにします。

(myenv) [jade@MyPC:~]
$ pip install numpy

モジュールをアンインストールする

仮想環境からモジュールをアンインストールするには、下記を実行します。(例: numpy のアンインストールの場合)

(myenv) [jade@MyPC:~]
    $ pip uninstall numpy

インストール済モジュールの一覧を取得する

仮想環境にインストール済のモジュール一覧を取得するには、pip freeze コマンドを使います。

(myenv) [jade@MyPC:~]
$ pip freeze
numpy==1.14.5
.
.
.

モジュール名==バージョン番号の形式でインストール済モジュール一覧を取得できます。ちなみに、この一覧をファイル (requirements.txt という名前にすることが多い) に保存しておき、別の環境に同じモジュール群を下記のようにしてインストールする事が可能です。

(myotherenv) [jade@MyPC:~]
$ pip install -r requirements.txt

エディタや統合環境で使う

VS Code で仮想環境を使う

Microsoft の Visual Studio Code (以下 VS Code) は、開発用エディタとしてスタンダードな地位を築きつつあるようです。エディタとしてというより、IDE として使われている感じです。

VS Code で Python を使うには、Python 拡張機能をインストールしておきます。その上で、仮想環境を利用するには下記のような設定を行います。

ファイル > 基本設定 > 設定 で左ペインの Python Configuration を開くと、"python.venvPath" があり、

右側ペインの「ユーザー設定」で、下記のような一行を追加します。(env がホームディレクトリ直下にあるものとして設定している例です。)

"python.venvPath": "~/env/myenv",

 

この設定を行うと、左下に表示される "Select Python Environment" をクリックして env 下にある環境の一覧から選択できるようになります。

PyCharm で仮想環境を使う

JetBrains 社の IntelliJ IDEA は、Android Studio のベースとなった JAVA IDE です。IntelliJ の Python 版とも言える同社の Python 用 IDE が PyCharm です。

PyCharm で仮想環境を使うためには、下記のような設定を行います。

File > Settings で開いた Settings 画面の左ペインで Project: ~ を開いて、Project Interpreter を選択します。次に、右上の Project Interpreter 欄の右端にある歯車マークをクリックして Add... を選択します。

左ペインで Virtualenv Environment を選択して、右ペインの Existing environment ラジオボタンを選択してから、Interpreter 欄右端の ... をクリックして開いたファイル選択ビューで仮想環境下にある python 本体を選択します。

該当する python 実行ファイルは、下記の場所にあります。

Windows の場合

env/myenv/scripts/python.exe

Linux の場合

env/myenv/bin/python3

 
インタープリタが設定されると、下記のようにインストール済モジュールの一覧が表示されます。

独学プログラマー Python言語の基本から仕事のやり方まで

参考

低価格なのに高速・多機能・高セキュリティ 月額400円(税別)から最大容量100GB WordPress専用高速サーバー Z.com WP
おすすめの記事