web-dev-qa-db-ja.com

Ubuntuで仮想python環境をセットアップして使用するにはどうすればよいですか?

Python仮想環境を使用して、独立したpython環境を作成し、依存関係とバージョンの競合を回避し、権限の問題を間接的に処理します。しかし、Ubuntuでセットアップして使用する最も簡単な方法は何ですか?

73
Gerhard Burger

仮想環境は、プロジェクトごとに依存関係を管理および分離する方法を提供します。さらに、これらはSudo pip install状況全体も回避します。これは、 https://askubuntu.com/a/802594/150 で説明したように、セキュリティ上のリスクです。公式のPythonドキュメントも 仮想環境の使用を奨励しています

Python 2とPython 3の両方の仮想環境を作成して使用する最も簡単な方法は、virtualenvまたはapt-getを使用してaptをインストールすることです。 Pythonプロジェクトごとに、virtualenvを作成してアクティブ化します。 virtualenvは特定のPythonバージョンに固有であることに注意してください。アクティベーション後、Python 2または3を使用しているかどうかに関係なく、pipを使用して通常どおりPythonパッケージをインストールします。 Pythonにpip3を使用する必要はありません。Sudovirtualenvのインストールにのみ使用され、pipでは使用されないため、前述のセキュリティリスク。そのためのコマンドは次のとおりです。

Sudo apt update
Sudo apt install virtualenv
cd ~/desired_directory  # cd to desired_directory
virtualenv venv  # create virtualenv named venv for default system Python, which is Python 2 for Ubuntu
source venv/bin/activate  # activate virtualenv
pip install -U pip  # upgrade pip in case it is outdated
pip install desired_package  # install desired_package

Python 3のvirtualenvを作成する場合は、virtualenv venvを次のように置き換えます。

virtualenv venv -p python3

https://virtualenv.pypa.io/en/stable/virtualenvのさまざまな機能の詳細をご覧ください。

8
edwinksl

python-virtualenv をインストールするだけです。その後、virtualenvコマンドを使用してvirtualenvを作成できます。詳細については それらのドキュメント をご覧ください。

4
tumbleweed

venvモジュール でPython 3.3(およびUbuntu 15.10)から利用可能

仮想環境(venvs)は非常に人気があるため、機能はpython自体に含まれています(3.3以降)。 Ubuntuで使用するには、python3-venvをインストールする必要があります(ensurepipモジュールが利用できないため):

Sudo apt-get install python3-venv

その後、使用できます

pyvenv myvirtualenv

myvirtualenvという仮想環境を作成します。次に使用できます

source myvirtualenv/bin/activate

仮想環境をアクティブにします。無効にするには、単に入力します

deactivate

EDIT:pyvenvスクリプトは、python3 -m venvを支持して廃止されました。これにより、どのPythonインタープリターpyvenvが接続されているか、したがってどのPythonインタープリターが仮想環境で使用されるかについての混乱を防ぎます。 ( ソース

3
Gerhard Burger