malikarumi@Tetouan2:~$ pip install virtualenv
Collecting virtualenv
Downloading virtualenv-12.0.7-py2.py3-none-any.whl (1.8MB)
100% |################################| 1.8MB 330kB/s
malikarumi@Tetouan2:~$ pip freeze
(a lot of stuff, but not virtualenv)
malikarumi@Tetouan2:~$ virtualenv testvenv1
The program 'virtualenv' is currently not installed. You can install it by typing:
Sudo apt-get install python-virtualenv
ここで何が起こっていますか? python-virtualenv == pyvenv?それはまだ壊れていませんか?オリジナルのvirtualenvはまだPythonで動作しますか? venv(名前のバリエーションが多すぎる!!!)が標準ライブラリの一部である場合、 https://docs.python.org/3/library/venv.html 、なぜインストールするように言われますかそれ?
そして、私がそれをインストールしようとしたとき、私は得ました:
malikarumi@Tetouan2:~$ Sudo apt-get install python-virtualenv
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
python-colorama python-distlib python-html5lib python-pip python-setuptools
Python3-pipをインストールする直前にpython3-pipをインストールしたので、その時点で中断しました
Setting up python3-setuptools (3.3-1ubuntu1) ...
Setting up python3-pip (1.5.4-1) ...
そして、追加のパッケージがそれらを上書きするのか、python 2.7に移行するのかはわかりませんでした。
今後、python 3がデフォルトになるはずだと読みました。 2.7と3.4の両方があり、別々のコマンドがあるので、Python 3がデフォルトであるだけでなく、インストールしたものがそこに行き、2.7の代わりに使用されることを確認するにはどうすればよいですか?
ところで、私はsudo apt-get python3-virtualenvを試してみました:E:パッケージpython3-virtualenvが見つかりません
Python 3.xパッケージをPython仮想環境にインストールする方法は、Python 3仮想環境を使用してPython仮想環境を作成することです。作成者(python3-virtualenv)。 python3-virtualenvは、Ubuntu 14.10以降のデフォルトのUbuntuリポジトリにあります。
Python 3仮想環境クリエーターをインストールします
Sudo apt install virtualenv python3-virtualenv
Python3用のPython仮想環境を作成します。このPython仮想環境内にのみpython3パッケージをインストールできます。 Python 2.xパッケージもインストールする場合は、別のPython仮想環境を作成する必要があります。
virtualenv -p python3 env
source ./env/bin/activate
Python3の新しいPython仮想環境は、現在のディレクトリにあるenv
ディレクトリに作成されます。
Pythonパッケージをインストールします。
cd/path/to/env /#envは、python3仮想環境のディレクトリ source bin/activate pip3 installです。 最初のパッケージ名次のパッケージ名最後のパッケージ名
これは、最新バージョンのpip3を備えた新しいpython3仮想環境であるため、Pythonパッケージをインストールするとうまく機能します。
Sudo apt-get install virtualenvwrapper
gedit .bashrc
.bashrcの最後に次の行を追加します。
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
.bashrcへの変更を保存し、geditを閉じます。 .bashrcを入手して、変更を有効にします。
cd
source .bashrc
Python3用のPython仮想環境を作成します。このPython仮想環境内にのみpython3パッケージをインストールできます。 Python 2.xパッケージもインストールする場合は、別のPython仮想環境を作成する必要があります。
mkvirtualenv py3 -p /usr/bin/python3
Python3の新しいPython仮想環境が~/.virtualenvs/py3
ディレクトリに作成されます。 .virtualenvs
は隠しフォルダーです。
パッケージをインストールします。
cd〜/ .virtualenvs/py3 source bin/activate pip3 install パッケージ名
まあ、それは複雑になります。以下は、Ubuntu Xenial(私が使用するLinux Mintの基礎となるリリースです)に対して示されています。それを整理しましょう:
Python 3.3+ stdlib package のラッパースクリプトを指します。しかし、Python 3.6以降では廃止されました。
また、仮想環境スイッチャーである PyPiパッケージ です。
それはPython 3.3+ stdlibパッケージ であり、その目的はPyPiの改善と置き換えでした virtualenvパッケージ ( PEP 405 を参照) 。しかし、まだ存在していないようです(少なくとも機能が完全ではありません)。
$ apt-cache show virtualenv | grep Depends
Depends: python3, python3-virtualenv
ご覧のとおり、Python 3で実行されます。python-virtualenv
パッケージは、python2 -m virtualenv py2
のように使用することを目的としています。新鮮なUbuntu Xenial(docker run --rm -it ubuntu:xenial
)でvirtualenv
がどのように機能するかを見てみましょう:
$ 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環境が作成されます。