まあ、それは複雑になります。以下は、Ubuntu Xenial(私が使用するLinux Mintの基礎となるリリース)に対して表示されています。それを整理しましょう:
pyvenv
Python 3.3+ stdlibパッケージのラッパースクリプトを指します。しかし、Python 3.6から非推奨になりました。
また、仮想環境スイッチャーであるPyPiパッケージでもあります。
venv
PyPi virtualenvパッケージ(PEP 405を参照)の改善と置換を目的としたPython 3.3+ stdlibパッケージです。しかし、まだ機能していないようです(少なくとも機能が完全ではありません)。
python-virtualenvおよびvirtualenv
$ apt-cache show virtualenv | grep Depends
Depends: python3, python3-virtualenv
ご覧のとおり、Python 3で実行されます。python-virtualenv
パッケージはのように使用するためのものpython2 -m virtualenv py2
です。virtualenv
新しいUbuntu Xenial(docker run --rm -it ubuntu:xenial
)での動作を見てみましょう:
$ virtualenv
bash: virtualenv: command not found
$ apt-get update
...
$ apt-get install --yes --no-install-recommends virtualenv
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib
libpython3.5-minimal libpython3.5-stdlib libsqlite3-0 libssl1.0.0
mime-support openssl python-pip-whl python3 python3-minimal
python3-pkg-resources python3-virtualenv python3.5 python3.5-minimal
Suggested packages:
libdpkg-perl python3-doc python3-tk python3-venv python3-setuptools
python3.5-venv python3.5-doc binutils binfmt-support
Recommended packages:
file
The following NEW packages will be installed:
ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib
libpython3.5-minimal libpython3.5-stdlib libsqlite3-0 libssl1.0.0
mime-support openssl python-pip-whl python3 python3-minimal
python3-pkg-resources python3-virtualenv python3.5 python3.5-minimal
virtualenv
...
$ virtualenv test
The executable python2 (from --python=python2) does not exist
$ virtualenv -p python3 py3
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /py3/bin/python3
Also creating executable in /py3/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ . py3/bin/activate
(py3) $ python --version
Python 3.5.2
(py3) $ deactivate
$ apt-get install --yes --no-install-recommends python
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libffi6 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib
python-minimal python2.7 python2.7-minimal
Suggested packages:
python-doc python-tk python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
libffi6 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
python-minimal python2.7 python2.7-minimal
...
$ virtualenv py2
Running virtualenv with interpreter /usr/bin/python2
New python executable in /py2/bin/python2
Also creating executable in /py2/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ . py2/bin/activate
(py2) $ python --version
Python 2.7.12
virtualenv
パッケージがを使用している場合でもわかるようにpython3-virtualenv
、そのデフォルトはPython 2環境を作成することです。