Python仮想環境は、Pythonのインストールと多数の追加パッケージを含む自己完結型のディレクトリツリーです。
Python仮想環境の主な目的は、さまざまなPythonプロジェクト用に分離された環境を作成することです。このようにして、他のPythonプロジェクトに影響を与えることを心配せずに、プロジェクトごとに特定のバージョンのモジュールをインストールできます。
このチュートリアルでは、Ubuntu18.04でPython仮想環境を作成する方法について段階的に説明します。
Python 3の仮想環境を作成する#
Ubuntu18.04にはデフォルトでPython3.6が付属しています。次のコマンドを実行して、Python3がシステムにインストールされていることを確認できます。
python3 -V
出力は次のようになります。
Python 3.6.5
Python言語の最新のメジャーリリースをインストールする場合は、Python3.8の手順に従ってください。
Python 3.6以降、仮想環境を作成するための推奨される方法は、venv
を使用することです。 モジュール。
python3-venv
をインストールすることから始めましょう venv
を提供するパッケージ モジュール。
sudo apt install python3-venv
モジュールがインストールされると、Python3の仮想環境を作成する準備が整います。
Python3仮想環境を保存するディレクトリに切り替えます。ディレクトリ内で次のコマンドを実行して、新しい仮想環境を作成します。
python3 -m venv my-project-env
上記のコマンドは、my-project-env
というディレクトリを作成します 、Pythonバイナリのコピー、Pipパッケージマネージャー、標準のPythonライブラリ、その他のサポートファイルが含まれています。
この仮想環境の使用を開始するには、activate
を実行して仮想環境をアクティブ化する必要があります スクリプト:
source my-project-env/bin/activate
有効化されると、仮想環境のbinディレクトリが$PATH
の先頭に追加されます。 変数。また、シェルのプロンプトが変更され、現在使用している仮想環境の名前が表示されます。この場合、それはmy-project-env
:
$ source my-project-env/bin/activate
(my-project-env) $
仮想環境がアクティブ化されたので、pipを使用してパッケージのインストール、アップグレード、および削除を開始できます。
Requestsmoduleを利用して簡単なPythonスクリプトを作成しましょう。
仮想環境内では、コマンドpip
を使用できます pip3
の代わりに およびpython
python3
の代わりに 。 最初のステップは、Pythonパッケージマネージャーpipを使用してモジュールをインストールすることです:
pip install requests
インストールを確認するには、モジュールのインポートを試みることができます:
python -c "import requests"
モジュールのインポートにエラーがない場合、インストールは成功しています。
この例では、単純なHTTP要求と応答サービスを提供するhttpbin.orgsiteを使用して、すべてのヘッダーエントリを出力します。
テキストエディタを開き、新しいファイルを作成します:
nano testing.py
次のコンテンツをファイルに貼り付けます:
import requests
r = requests.get('http://httpbin.org/get')
print(r.headers)
ファイルを閉じて保存します。
これで、次のように入力してスクリプトを実行できます。
python testing.py
スクリプトは、以下に示すように、すべてのヘッダーエントリの辞書を出力します。
{'Connection': 'keep-alive', 'Server': 'gunicorn/19.9.0', 'Date': 'Tue, 18 Sep 2018 16:50:03 GMT', 'Content-Type': 'application/json', 'Content-Length': '266', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Credentials': 'true', 'Via': '1.1 vegur'}
環境を非アクティブ化する作業が完了したら、「deactivate
」と入力するだけです。 通常のシェルに戻ります。
deactivate