目次
はじめに
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言語の基本から仕事のやり方まで