14.04に付属のpyvenv-3.4
を使用して仮想環境を作成しようとすると、エラーがスローされます。
Error: Command '['/some/directories/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
Ubuntu 14.04でpyvenv-3.4を使用するにはどうすればよいですか?
残念ながら、14.04は壊れたpyvenv
とともに出荷されました。 このランチパッドスレッド によると、この問題は今後の14.04-1で解決される予定です
この方法 を使用すると、pipなしでPyvenv環境をインストールし、事後にpipを手動でインストールできます。
pyvenv-3.4 --without-pip myvenv
source ./myvenv/bin/activate
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.4.4.tar.gz
tar -vzxf setuptools-3.4.4.tar.gz
cd setuptools-3.4.4
python setup.py install
cd ..
wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz
tar -vzxf pip-1.5.6.tar.gz
cd pip-1.5.6
python setup.py install
cd ..
deactivate
source ./myvenv/bin/activate
理由:Ubuntu 14.04とDebianの両方にpyvenv-3.4
ツールが壊れています。 buntuバグ1290847 および Debianバグ7327 を参照してください。
解決策/回避策(他の回答からのものよりも短い):
pyvenv-3.4 --without-pip venvdir
source venvdir/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python
deactivate
source venvdir/bin/activate
このバグは 自分のGist で説明しています。このコードのURLは、 公式のpipインストール手順 からのものです。
これも動作するはずです:
Sudo apt-get install python-virtualenv
virtualenv -p python3 myvenv
またはさらに良い:
Sudo apt-get install python3-pip
Sudo pip3 install virtualenv
virtualenv myvenv
python 3.4のvenv libが欠落しています。次を実行してください:
$ apt-get install python3.4-dev python3.4-venv
私がこれを解決した方法は、実行することです
$ python -m ensurepip
この行で終わるスタックトレースを生成しました:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/setuptools-20.10.1-py2.py3-none-any.whl'
そこで私は https://pypi.python.org/pypi/setuptools/20.10.1 に行き、ホイールをつかんでディレクトリに入れました(mkdir -p /usr/lib64/python3.4/ensurepip/_bundled/
で作成しなければなりませんでした) )
その後、python -m ensurepip
を再度実行しました
No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/pip-8.1.1-py2.py3-none-any.whl
だから私は https://pypi.python.org/pypi/pip/8.1.1 に行き、つかんだthatホイールそれをディレクトリに貼り付けました。
これで、python -m venv .venv
を使用してvirtualenvを作成できます。成功!
Debianでテスト済み
$ python3.4 -m venv --without-pip env
$ cd env
$ source ./bin/activate # virtualenv activated
$ wget https://bootstrap.pypa.io/get-pip.py # get installation script for pip
$ python3.4 get-pip.py
$ deactivate
$ source venvdir/bin/activate
$ pip list # just to check that pip works!