【Python】venvによる仮想環境構築

  • 2019年7月8日
  • 2020年4月3日
  • Python

こんにちは!

皆さんはPythonの仮想環境というものをご存知ですか?

少し PCに詳しい人なら、仮想環境と聞くと、VirtualBoxなどによるOSの仮想環境を思い浮かべる人もいると思います。

しかし、Pythonの場合は違います。

そこで、今回はPythonの仮想環境とは何かを学んで、venvという仮想環境管理手法の1つを用いて、仮想環境の構築方法を見ていきましょう。


Pythonの仮想環境

Pythonの仮想環境とは

では早速、 Pythonの仮想環境について説明していきます。

Pythonの仮想環境というのは、インストールしたモジュールやパッケージ、ライブラリ、Pythonのバージョンごとに実行環境を分けた環境のことです。

簡単に言うと、仮想環境を使うと、1つのパソコンの中に複数の実行環境を作ることができるということです。

モジュールやパッケージ、ライブラリの違いについてわからない方は、以下の記事をご覧ください。

Python初心者の方には、仮想環境を使うことによる利点がわかりづらいかもしれません。

そこで、次は仮想環境を使うことによる利点を説明していきます。

仮想環境の利点

Pythonでは、Python2系とPython3系では互換性がありません。

しかし、初心者の方にはずっと先の話になるかもしれませんが、仕事などで共同開発を行うようになると、「こっちのプロジェクトではPython2系を、あっちのプロジェクトではPython3系を使う」といったことがあるかもしれません。

また、「今までPython3系を使っていたのに他のバージョンを使用しなければならなくなった」といった場合に、一々現在のバージョンをアンインストールして、新しく古いバージョンをインストールする、といったことを繰り返していくのはかなり効率が悪いですよね?

そして、Pythonでは、様々なモジュール、パッケージをインストールして開発を行います。様々な開発を行うにつれて、インストールするモジュール、パッケージの量は膨大になります。

1つの環境に全てのモジュール、パッケージをインストールしていたら、どのプロジェクトでどのモジュール、パッケージを用いたかが非常にわかりづらくなります。

さらには、モジュール、パッケージにもバージョンがあるので、上記したバージョンの問題も当てはまります。

このような問題を解決するためにPythonには仮想環境というものが用意されています。

仮想環境を用いることによって、Pythonの様々なバージョンの環境を用意できるし、プロジェクトごとに、モジュール、パッケージを分けることができます。

では早速、仮想環境の構築方法についてみていきましょう。


venvによる仮想環境構築

macOSの場合

ターミナルから、仮想環境を構築したいフォルダに移動し、以下のコマンドを実行します。

$ python3 -m venv venv

このように入力することによって、venvというフォルダで仮想環境が構築されます。

仮想環境を有効にするには、以下のコマンドを実行します。

$ source venv/bin/activate

(venv)$ と表示されれば完了です。仮想環境を有効にした後に、使用したいパッケージのインストールなどを行いましょう。

仮想環境を終了するには、deactivateコマンドを使用します。

(venv)$ deactivate

完了すると(venv)が消え、元の環境に戻ります。

Windowsの場合

コマンドプロンプトから、仮想環境を構築したいフォルダに移動し、以下のコマンドを実行します。

> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
> py -m venv venv

このように入力することによって、venvというフォルダで仮想環境が構築されます。

仮想環境を有効にするには、以下のコマンドを実行します。

> venv\Scripts\Activate.ps1

(venv) > と表示されれば完了です。仮想環境を有効にした後に、使用したいパッケージのインストールなどを行いましょう。

仮想環境を終了するには、deactivateコマンドを使用します。

(venv) > deactivate

完了すると(venv)が消え、元の環境に戻ります。




まとめ

いかがでしたか?

venvによる、仮想環境の構築方法について理解できたでしょうか?

Python初心者の方には、仮想環境の利点がわかりづらいかもしれません。

しかし、仮想環境の構築は後々必ず必要になってくるスキルです。

最初のうちから仮想環境の構築方法をしっかりと身につけて、Pythonの開発に役立てていきましょう!