Pythonの学習を目的として、このブログでは入門編からいろいろとPythonの基本について触れてきました。
そこでは、MacにAnacondaをインストールしてPython3系をそのまま使っている状況です。 ですが、今後、いろんなプロジェクトを行うにあたって、サードパーティ製のパッケージを使ったりする場合に、それぞれのプロジェクトで違うバージョンのものを利用する可能性があるというのが現実です。
現在利用しているライブラリはバージョン2だけども、他のプロジェクトを作業をする時にはバージョン1.1を使っているというようなことがあります。 これを切り替えて使えると便利ですが、その方法があります。
venvで仮想環境を作る(Mac)
そこで既存の環境からは隔離された仮想の実行環境を作る方法として、ここではvenvを使ってみましょう。
以前はvirtualenv をインストールして仮想環境を構築していましたが、Python 3.3 になってからvenvとして標準機能となりました。なので特に何かをインストールする必要はありません。
私のパソコンがMacBook Proなので、ここではMacでの方法を見ていきます。Linuxも同じですが、Windowsは異なりますので注意してください。
venv環境の作り方
ではvenvを使ってMacに仮想環境を作って行きましょう。
ターミナルからコマンドを入力して構築します。 ターミナルに次のように入力します。
$ python3 -m venv [環境名]
ここでは[環境名]のところをmyenvとしておきます。
このコードを実行すると、作業ディレクトリに[環境名]と同じフォルダが作成されます。
venv環境を有効化する
ここではmyenvという仮想環境が作成されましたが、これを有効化しないといけません。
ターミナルに次のコマンドを入力して実行します。
$ source [環境名]/bin/activate
なお、次のコマンドでも仮想環境の有効化はできます。
$ . [環境名]/bin/activate
source のかわりに.(ドット)を使います。(後ろに半角スペースが入ります)
仮想環境が有効化されると、コマンドプロンプトの先頭に(環境名)が表示されます。 この場合は、(myenv) と表示されています。
この状況で、自分の目的とする作業をするためのパッケージなどをcondaコマンドやpipコマンドなどでインストールしていきます。バージョンが異なるパッケージをインストールする場合はバージョンナンバーを指定します。環境フォルダの中にインストールされるので個別の環境の出来上がりというわけです。
venv環境を無効化する
有効化した仮想環境を停止させるには、ターミナルにdeactivateコマンドを入力して実行するだけです。
(環境名) $ deactivate
実行すると、通常のプロンプトに戻ります。
無効化すると、仮想環境でインストールしたパッケージをインポートしてもエラーになりますので、venv環境でのみ利用可能であることがわかります。
なお、作業ディレクトリにある環境名のフォルダを削除すると利用できなくなります。不要なら削除しても構いません。
まとめ
Pythonの仮想環境を作って、隔離された作業環境を作るにはvenvコマンドを使います。
公式ドキュメントはこちらになります。
ここではMacでのvenv環境の作成、有効化、無効化の方法を見てきました。 他にもcondaを使っての仮想環境の作り方やAnaconda Navigatorから作る方法もあります。condaでの仮想環境構築は以下にまとめています。