web-dev-qa-db-ja.com

Python 3仮想環境を作成する

公式のUbuntuパッケージpython3-virtualenvを使用して、Lubuntu 15.1にapt-get install python3-virtualenvをインストールしました。 公式ドキュメント は、私のプロジェクトディレクトリにある単純なvirtualenv .でvenvを作成するのに十分であることを示しています。 which virtualenvは何もしないので、これは何もしません。 (which python-virtualenvおよびwhich python3-virtualenvからも何もありません)。

パッケージ情報をインストールすると、/usr/lib/python3/dist-packages/virtualenv.pyがインストールされたと表示されるため、これをpython3で呼び出します。それは私にこれを与えます:

$ python3 /usr/lib/python3/dist-packages/virtualenv.py .
Running virtualenv with interpreter /usr/bin/python2
New python executable in ./bin/python2
Also creating executable in ./bin/python
Installing setuptools, pip...done.

ええ、私が見ると、。/ bin内のすべてがpython2です。 ubuntuのpython3-virtualenvはpython2のダミーパッケージですか?

公式のpythonドキュメンテーションは別のパッケージを使用すると言います: python3-venv 。これはpyvenv .のときに機能するようです、./binディレクトリ。

Python 3 virtualenvを正常に作成するにはどうすればよいですか?

13
Escher

venvは仮想環境を作成するための便利なスクリプトですが、virtualenvが実行できるすべての機能を完全には置き換えません。ほとんどの場合、どちらを使用しても問題ありません。 virtualenvは廃止されていません。

python3 -m venvpython3-venvをインストールした後に機能します。Debianは一部のスクリプトをベースから削除するためですPythonパッケージ。python3-virtualenvvirtualenv何らかの理由でパス上のスクリプトを実行しますが、python-virtualenvは実行し、どちらのバージョンでも正常に動作します。

どのバージョンのvirtualenvがインストールされているかは重要ではありません。-p pythonX(Xはバージョン)を渡すことにより、インストールされているすべてのバージョンの環境を作成できます。 venvはより単純で、実行元のバージョンの環境のみを作成し、3.3以降でのみ使用できます。

$ Sudo apt-get install python-virtualenv
$ virtualenv -p python3 env
$ source ./env/bin/activate
$ Sudo apt-get install python3-venv
$ python3 -m venv env
$ source ./env/bin/activate
24
davidism