Ubuntuで仮想Python環境を設定して使用するにはどうすればよいですか?


73

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

回答:


99

virtualenvwrapper(の機能のためのユーザーフレンドリーなラッパーvirtualenv

virtualenvをインストールする

インストールvirtualenv

sudo apt-get install virtualenv

(Ubuntu 14.04(信頼できる)インストールの場合python-virtualenv

virtualenvwrapperをインストールする

virtualenvwrapperをインストールする理由は、仮想環境を管理するための素敵でシンプルなコマンドを提供するためです。インストールには2つの方法がありますvirtualenvwrapper

Ubuntuパッケージとして(Ubuntu 16.04以降)

走る

sudo apt install virtualenvwrapper

その後、実行します

echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc

pipを使用する

  1. pipのインストールおよび/または更新

    Python 2のpipをインストールします

    sudo apt-get install python-pip

    またはPython 3の場合

    sudo apt-get install python3-pip

    (Python 3を使用する場合、このガイドの残りの部分ではpip3なく使用する必要がある場合がありますpip)。

    オプション(ただし推奨): pipのbashオートコンプリートを有効にする

    走る

    pip completion --bash >> ~/.bashrc

    実行source ~/.bashrcして有効にします。

  2. virtualenvwrapperをインストールする

    回避したいsudo pipので、virtualenvwrapperローカルで(デフォルトでは~/.local)をインストールします:

    pip install --user virtualenvwrapper

    そして

    echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
  3. ソースのvirtualenvwrapper .bashrc

    echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc

virtualenvとvirtualenvwrapperのセットアップ:

最初にWORKON_HOME、仮想環境が保存されるディレクトリを含む変数をエクスポートします。これを作りましょう~/.virtualenvs

export WORKON_HOME=~/.virtualenvs

また、このディレクトリを作成します

mkdir $WORKON_HOME

このエクスポートを~/.bashrcファイルに入れて、この変数が自動的に定義されるようにします

echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc

また、次のような追加のトリックを追加することもできます。これによりpip、追加の仮想環境が作成された場合、WORKON_HOMEディレクトリにも配置されるようになります。

echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc 

〜/ .bashrcをソースとして変更をロードします

source ~/.bashrc

動作するかテストする

次に、最初の仮想環境を作成します。-p引数はオプションで、使用するPythonのバージョンを設定するために使用されます。python3たとえば、それも可能です。

mkvirtualenv -p python2.7 test

環境がセットアップされ、プロンプトにアクティブな環境の名前が括弧内に含まれるようになります。また、今実行した場合

python -c "import sys; print sys.path"

/home/user/.virtualenv/...システムのサイトパッケージを使用しないようになったので、たくさん表示されるはずです。

以下を実行することにより、環境を非アクティブ化できます。

deactivate

もう一度作業したい場合は、単に入力します

workon test

最後に、環境を削除する場合は、次を入力します。

rmvirtualenv test

楽しい!


このブログ投稿の著者に感謝します。


2
python-pipまたpython-virtualenv、Ubuntuリポジトリを通じてインストール可能であり、手動でインストールする必要はありません。
ティモ

2
ただし、Ubuntuでは、多くの理由からUbuntuパッケージをお勧めします。古いバージョンのpipまたはvirtualenvには何の問題もありません。完全に機能します。
タンブルウィード

1
@GerhardBurger:python3 virtualenvを作成すると、python3で動作するpipが取得されます。Ubuntuのvirtualenvを使用してvirtualenvを作成する場合、これまでに行ったすべてがvirtualenvに含まれます。sudo easy_installingを起動すると、/ usr / local全体に混乱が残ります。これは、クリーンアップするのはそれほど大きなことではなく、簡単ではありません。
タンブルウィード

エイリアスは現在不要であるように見え--no-site-packagesます:デフォルトで--distribute非推奨です
-int_ua

mkvirtualenv test動作しない場合は、stackoverflow.com
questions

8

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

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

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でさまざまな機能の詳細をご覧ください


1
source私は多くのコマンドを保存します
vnpnlz

OSError:[Errno 40]シンボリックリンクのレベルが多すぎます: '/ var / www / html / python / check / venv / bin / python'
Saravanan Nandhan

@SaravananNandhan代わりに、必要な詳細を記載した新しい質問をしてください。
edwinksl


3

venvモジュールのPython 3.3(とUbuntu 15.10)から入手可能

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

sudo apt-get install python3-venv

その後、使用できます

pyvenv myvirtualenv

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

source myvirtualenv/bin/activate

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

deactivate

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.