Pythonモジュールを気兼ねなくインストール!venvで仮想環境をつくる

IT
スポンサーリンク

こんにちは、サブです。

 

Pythonモジュールを、目的に応じていろいろインストールしていきたいことがあります。

ただ、そうしていくうちに、モジュールの干渉などが原因で、思ったようにモジュールをインストールできないなど、環境構築に手間取ることがあります

 

こうした問題を防ぐために、「venv」というPythonの仮想環境をつくるためのモジュールが便利です。

今回は、この「venv」の使い方をまとめようと思います。

 

スポンサーリンク

venvの基本的な使い方

Pythonを使った開発ごとに、必要なモジュールやバージョンが異なるケースが多いです。

そのため、

開発ごと(プロジェクトごと)に、「venv」による仮想環境をつくる

というのが、基本的な使い方になります。

 

具体的には、プロジェクト用のディレクトリ配下で、venvによる仮想環境をつくる形になります。

 

スポンサーリンク

仮想環境をつくる

プロジェクト用のディレクトリなど、開発作業をするディレクトリに移動して、下記を実行します。

$ python -m venv venv

2つ目の「venv」は好きな名前で良いのですが、「venv」と命名されるケースが多いようです。

 

仮想環境を有効にする

つくった仮想環境を有効にします。

$ source venv/bin/activate
(venv) $

仮想環境を有効にすると、プロンプトの表示が変わります。

 

「$PATH」の先頭に仮想環境内の「bin」が加わるため、この状態で「python」を実行すると、仮想環境内のpythonが実行されることになります。

「pip install」によってモジュールをインストールしても、仮想環境内にしか反映されないため、気兼ねなくインストールができます

 

仮想環境にモジュールをインストールする

試しに、仮想環境内にモジュールをインストールしてみます。

 

まずは、現状のモジュールインストール状況を確認します。

(venv) $ pip freeze

仮想環境をつくったばかりなので、特に何も表示されません。

 

それでは、例として「requests」モジュールをインストールしてみます。

(venv) $ pip install requests
Collecting requests
  Downloading https
...

モジュールがインストールされます。

 

再度、インストール状況を見てみましょう。

(venv) $ pip freeze
certifi==2020.4.5.1
chardet==3.0.4
idna==2.9
requests==2.23.0
urllib3==1.25.9

「requests」モジュールの依存関係も含めて、インストールされていることが確認できます。

 

ちなみに、仮想環境を有効にしていない端末で、インストール状況を見てみると、

$ pip freeze

「requests」モジュールは表示されません。

このように、「venv」を使うことで、仮想環境内に閉じた形で、好きなようにモジュールのインストールができます

 

仮想環境を無効にする

仮想環境を無効にします。

(venv) $ deactivate
$ 

仮想環境を無効にすると、プロンプトも元の表示も戻ります。

 

仮想環境を削除する

最後に、仮想環境を削除します。

この操作は、上記の「仮想環境を無効にする」の後に実行することをおすすめします。
プロンプトの表示が、仮想環境内に入っている時のままになってしまい、混乱を招くためです。

$ rm -rf venv

特にコマンドが用意されているわけではなく、最初に作成した仮想環境のディレクトリを削除するだけです。(例では「venv」ディレクトリを削除)

 

まとめ:Python開発の際はvenvを習慣に!

今回は、venvによるPython仮想環境のつくり方と使い方を紹介しました。

Pythonモジュールは、pipにより簡単にインストールできてしまう反面、モジュールで溢れかえってしまったり、依存関係が原因でインストールしたいモジュールが入らなかったり、といった問題を引き起こしやすいです

Pythonで開発をする際は、まず「venv」といった習慣を立てられると、環境をきれいに保ったまま色々な開発ができますので、おすすめです。

コメント

タイトルとURLをコピーしました