
はじめに
Python 開発ではさまざまなモジュールをインストールしますが、プロジェクト毎に異なるバージョンが必要となることがあります。また、Linux ではシステム設定に Python が用いられることもあり、プロジェクト毎に環境を分離する事が望ましく、仮想環境を利用するのがベストプラクティスです。
Python 3.3 以降では、venv が標準で使えるようになりました。また、従来使われてきた pyvenv は 3.6 以降では非推奨になり、今後は venv の利用が一般的になっていくものと推測されます。この記事では、基本的な venv の使い方と VSCode や PyCharm の設定について紹介します。
仮想環境を作成する
仮想環境を作成するには、python コマンドでモジュール "venv" を実行します。ここで実行する Python の実行ファイルは仮想環境のインタープリタとして取り込まれますので、誤って異なるバージョンの Python を実行してしまわないように注意しましょう。
Python のバージョンを確認する
Python のバージョンは下記で確認できます。
1 2 |
$ python --version Python 2.7.15rc |
Linux の場合、システムで Python が使われているため、デフォルトは上記のように Pytyon2 になっているかもしれません。その場合は、python3 を実行してください。(Windows の場合は、Python3 しかインストールしていなければ python コマンドが Python3 になっているはずです。)
1 2 |
$ python3 --version Python 3.6.5 |
仮想環境を作成する
話が逸れてしまいましたが、仮想環境を env/myenv に作成するには下記コマンドを使います。
1 |
$ python -m venv env/myenv |
Linux の場合のように python3 で実行する必要がある場合は下記のようにします。
1 |
$ python3 -m venv env/myenv |
venv がインストールされていない時
Ubuntu や Linux Mint で下記のエラーが発生する事があります。
1 2 3 4 5 6 |
__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. |
この場合は、下記を実行しましょう。
1 |
$ sudo apt install python3-venv |
仮想環境を削除する
仮想環境が不要になった場合は、仮想環境のフォルダを削除するだけです。
1 |
$ rm -r env/myenv |
仮想環境を使う
仮想環境を有効にする
仮想環境を有効にするには、activate スクリプトを実行します。activate スクリプトは仮想環境フォルダの下にありますが、Windows の場合は scripts フォルダ、Linux の場合は bin フォルダになっていてパスが異なりますので注意が必要です。(2つの環境を使っているとよく間違えます。)
Windows の場合:
1 |
> env/myenv/scripts/activate |
Linux の場合:
1 |
$ source env/myenv/bin/activate |
仮想環境が有効になったら、プロンプトにカッコ付で環境名が表示されるはずです。
1 2 |
(myenv) [jade@MyPC:~] $ |
仮想環境を無効にする
無効化するときは単に deactivate コマンドを実行するだけですが、あまり使う必要性はないでしょう。 (使用後はターミナルを閉じれば良いので)
モジュールの操作
モジュールをインストールする
仮想環境にモジュールをインストールするには、activate 済の状態で pip install を実行します。例えば、数値計算で使われる NumPy をインストールする場合は、下記のようにします。
1 2 |
(myenv) [jade@MyPC:~] $ pip install numpy |
モジュールをアンインストールする
仮想環境からモジュールをアンインストールするには、下記を実行します。(例: numpy のアンインストールの場合)
1 2 |
(myenv) [jade@MyPC:~] $ pip uninstall numpy |
インストール済モジュールの一覧を取得する
仮想環境にインストール済のモジュール一覧を取得するには、pip freeze コマンドを使います。
1 2 3 4 5 6 7 |
(myenv) [jade@MyPC:~] $ pip freeze numpy==1.14.5 . . . |
モジュール名==バージョン番号の形式でインストール済モジュール一覧を取得できます。ちなみに、この一覧をファイル (requirements.txt という名前にすることが多い) に保存しておき、別の環境に同じモジュール群を下記のようにしてインストールする事が可能です。
1 2 3 |
(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 がホームディレクトリ直下にあるものとして設定している例です。)
1 |
"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言語の基本から仕事のやり方まで