kesalahan pyvenv-3.4: mengembalikan status keluar bukan nol 1

58

Saat mencoba membuat lingkungan virtual menggunakan yang disertakan pyvenv-3.4yang disertai dengan 14,04, ia melempar kesalahan:

Error: Command '['/some/directories/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1

Bagaimana cara menggunakan pyvenv-3.4 dengan Ubuntu 14.04?

Ryan
sumber
1
Jika Anda menggunakan Anaconda, itulah masalahnya, Anaconda tidak memiliki ensurepip: stackoverflow.com/a/39114277/1439843
Gerhard Burger

Jawaban:

50

Sayangnya, 14,04 dikirim dengan rusak pyvenv. Menurut utas launchpad ini , masalah akan teratasi pada 14.04-1 mendatang

Dengan menggunakan metode ini Anda dapat menginstal lingkungan Pyvenv tanpa pip dan kemudian menginstal secara manual setelah fakta.

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
Ryan
sumber
Seseorang menyarankan edit radikal untuk digunakan get-pip.pydalam jawaban ini - saya pikir itu terlalu banyak perubahan, tapi tolong tambahkan solusi Anda sebagai jawaban baru (bahkan hanya menyalin bagian atas dari jawaban ini)!
Volker Siegel
Direktori apa yang Anda jalankan ketika Anda menjalankan perintah ini? Yaitu, apakah ini direktori tempat Anda akan membuat aplikasi python atau Anda harus mem-cd ke 'myenv' untuk itu. Atau, mengapa Anda membuat sub-direktori untuk lingkungan? Pertanyaan bodoh, tapi saya belum pernah menggunakan ini sebelumnya dan ada terlalu banyak jawaban yang berbeda. Setidaknya jawaban Anda memiliki satu unduhan dari situs python.org dan bukan repositori github yang belum pernah saya dengar. Saya agak paranoid tentang hal-hal seperti itu.
Bill Rosmus
4
Ini tetap rusak di 15,04 juga.
knite
4
Ini tetap rusak di 14.04.2 LTS
tamakisquare
Bukan masalah Ubuntu, tapi saya punya masalah yang sama dengan Miniconda.
art-solopov
45

Alasan: Baik Ubuntu 14.04 dan Debian memiliki pyvenv-3.4alat yang rusak . Lihat bug Ubuntu 1290847 dan Debian bug 732703 .

Solusi / solusi (lebih pendek dari yang dari jawaban lain):

pyvenv-3.4 --without-pip venvdir
source venvdir/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python
deactivate
source venvdir/bin/activate

Saya telah menggambarkan bug ini di Gist saya sendiri . URL dalam kode ini berasal dari instruksi pemasangan pip resmi .

Denilson Sa Maia
sumber
5
Anda perlu awalan 'sudo apt-get install python3.4-venv' - Jika tidak, saya tidak memiliki 'pyvenv-3.4' yang dapat dieksekusi di PATH. (Ubuntu 15.04)
Jonathan Hartley
@JonathanHartley: Benar. Namun, bug yang disebutkan dalam pertanyaan / jawaban ini tidak ada di Ubuntu 15.04, jadi solusi untuk jawaban ini tidak diperlukan.
Denilson Sá Maia
Ingin tahu. Aku sampai di sini karena saya sedang melihat masalah di 15,04. Ah. Beberapa entri terakhir pada bug Ubuntu panjang yang Anda tautkan mengatakan seseorang harus menginstal paket python3-venv baru, yang bukan dependensi python3, untuk mendapatkan perbaikannya.
Jonathan Hartley
@ JonathanHartley: Pesan kesalahan Anda harus berbeda dari pesan kesalahan dari pertanyaan. Pesan kesalahan Anda harus pyvenv-3.4: command not found. Dan, ya, menginstal python3-venvadalah solusi untuk kesalahan Anda.
Denilson Sá Maia
10

Ini juga harus bekerja:

sudo apt-get install python-virtualenv
virtualenv -p python3 myvenv

Atau lebih baik lagi:

sudo apt-get install python3-pip
sudo pip3 install virtualenv
virtualenv myvenv
Collin Anderson
sumber
2

Anda melewatkan venv lib untuk python 3.4, jalankan saja:

$ apt-get install python3.4-dev python3.4-venv

Gregory
sumber
0

Cara saya memecahkan ini adalah dengan menjalankan

$ python -m ensurepip

Yang menghasilkan stacktrace diakhiri dengan baris ini:

FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/setuptools-20.10.1-py2.py3-none-any.whl'

Jadi saya pergi ke https://pypi.python.org/pypi/setuptools/20.10.1 dan meraih kemudi dan meletakkannya di direktori saya (yang harus saya buat dengan mkdir -p /usr/lib64/python3.4/ensurepip/_bundled/)

Kemudian berlari python -m ensurepiplagi saya dihadapkan dengan

No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/pip-8.1.1-py2.py3-none-any.whl

Jadi aku pergi ke https://pypi.python.org/pypi/pip/8.1.1 , meraih bahwa roda dan terjebak dalam direktori.

Sekarang saya dapat membuat virtualenvs dengan python -m venv .venv. Keberhasilan!

Wayne Werner
sumber
0

Diuji pada 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!

pisau cukur
sumber
Debian di luar topik di sini ...
Zanna
Maaf soal itu. Saya berharap ini akan berguna sebagai titik data karena Ubuntu menggunakan Debian sebagai basis. Saya bisa mencoba di Ubuntu VM saya nanti
razorsniper
Itu akan luar biasa :)
Zanna
-1

Saya menemukan kesalahan ini karena saya kehilangan python3-venvpaket di sistem saya.

dominic2145678
sumber
1
Tolong bisakah Anda menyatakan bagaimana cara menginstalnya sehingga orang lain dapat menggunakannya saat dibutuhkan.
George Udosen