venvによる仮想環境構築

なぜ仮想環境構築が必要なのか?

ローカルでPythonの開発を行う場合は、OSに標準でインストールされているPythonのバージョンの差異や、インストール済みのパッケージによる影響を避けるため、仮想環境を構築する必要がある。

個人の開発でも、OSバージョンアップや何らかのシステムの変更の影響など不具合を引き起こす要因がいくつかある。また他のアプリを同時に開発していた場合、そちらの環境で使用しているパッケージに影響されたり、(勝手な)バージョンで影響されることも想定される。

仮想環境の構築にはいくつかの方法があるが、今回は以下の要件を満たすものを検討した。

  • 初心者でも手軽に環境構築できるか(環境構築で挫折する人も多い)

  • 複数人で開発する際に、環境を統一できるか

  • 使用しているPythonのバージョンを統一できるか

「Python 仮想環境」などで検索すると、様々な方法が出てくる。仮想環境の候補としては、以下が代表的なものだろうか。

  • pyenv

  • virtualenv

  • venv

  • Anaconda

筆者もいくつか試したが、学習コストも低くPython3.3から標準で実装されているためインストールも不要なvenvを選んだ。python2系への切り替えはできないが、古いシステムから移行するような開発案件はないので、現時点では不要だと考えている。

仮想環境構築手順

まずは、OSにインストールされているPythonのバージョンを確認

~ $ python -V
Python 2.7.16

~ $ python3 -V
Python 3.7.7

もしpython3がまだインストールされていない場合は、以下でインストール。もしまだhomebrewをインストールしていない人は、homebrewを参照

$ sudo brew install python3

まずは適当な場所で、仮想環境用のプロジェクトフォルダを作り、cdで移動。

mkdir [project name]
cd [project name]

venv仮想環境を作成する。たったの1行で終わり。

python3 -m venv [env name]

このコマンド実行するとプロジェクトフォルダの直下に仮想環境用の[env name]が作成される。

仮想環境を起動させる時は以下の通り"activate"コマンドを実行する。 成功すると左側の表示が()に変わる。ここを確認すれば仮想環境が起動しているかどうかがわかる。

basic_blog $ source [env name]/bin/activate
(env name) basic_blog $ tree -L 1

仮想環境を終了する時は、"deactivate"コマンドを実行。

(env name) project name $ deactivate

以上が、venvによる仮想環境構築方法の説明となる。

最終更新

役に立ちましたか?