Virtualenv: Kesalahan membuat virtualenv dengan python3.6

Dibuat pada 22 Jun 2017  ·  24Komentar  ·  Sumber: pypa/virtualenv

Sebelumnya hari ini saya menginstal python3.6 di mesin debian saya. Python3.6 tersedia dalam distribusi buster. Ketika saya mencoba membuat virtualenv dengan python3.6.

python3.6 -m venv venv

memberikan kesalahan berikut.

Lingkungan virtual tidak berhasil dibuat karena surepip tidak tersedia. Pada sistem Debian/Ubuntu, Anda perlu menginstal paket python3-venv menggunakan perintah berikut.

apt-get install python3-venv

Anda mungkin perlu menggunakan sudo dengan perintah itu. Setelah menginstal python3-venv
paket, buat ulang lingkungan virtual Anda.

Perintah gagal: ['/home/float/test/t/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']

Saya sudah menginstal python3-venv (3.5.3-1) . Mengapa saya mendapatkan kesalahan ini? Jika saya menjalankan perintah

py3 -Im ensurepip --upgrade --default-pip

ia mengatakan

/usr/bin/python3.6: No module named ensurepip

Saya tidak kesulitan membuat virtualenvs menggunakan versi python3 default (3.5.3).

Juga, saya perhatikan bahwa saya dapat membuat virtualenv sebagai berikut:

virtualenv -p python3.6 venv

Komentar yang paling membantu

Masalah pembuat poster asli adalah karena tidak menginstal paket 'python3.6-venv', yang dapat diverifikasi menggunakan Docker jika Anda tidak memiliki akses ke Debian buster:

$ docker run --rm -it debian:buster /bin/bash
$ apt update
...
$ apt install python3.5 python3.6 python3.5-venv
...
$ python3.6 -m venv venv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/venv/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
$ rm -rf venv
$ apt install python3.6-venv
...
$ python3.6 -m venv venv
... success

Instal 'python3.6-venv', dan itu akan berfungsi.

Semua 24 komentar

Hai,

modul virtualenv dan python3 venv sendiri adalah 2 proyek/hal yang sama sekali berbeda.

venv melakukan hal yang sama dari virtualenv tetapi langsung terintegrasi dalam python3 itu sendiri.
virtualenv adalah proyek bersejarah pada dasarnya (dan biasanya tidak boleh digunakan dengan python3 saat ada venv).

Berdasarkan masukan Anda, saya akan mengatakan python3-venv mungkin menginstal ulang ( sudo apt-get reinstall python-venv atau yang serupa) di sisi Anda. Tapi aku bisa salah. Bagaimanapun ini sepertinya semua yang terkait dengan debian, saya cukup yakin.

Jadi bisakah Anda menutup masalah ini? (Saya bukan pengelola di sini)
Salam.

Menginstal ulang tidak berhasil. Saya akan menutup masalah ini sekarang. Saya akan memperbarui jika saya memiliki informasi lebih lanjut.

@animeshb , Anda tidak memiliki lebih banyak output setelah

Failing command: ['/home/float/test/t/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']

?

float<strong i="5">@animesh</strong>:~/test$ python3.6 -m venv venv

Tidak ada setelah baris itu.

The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.

apt-get install python3-venv

You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/home/float/test/t/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']

Di folder venv/bin , tidak ada perintah aktivasi.

float<strong i="13">@animesh</strong>:~/test$ ls venv/bin/
python  python3  python3.6

Saya hanya dapat mengarahkan Anda ke salah satu dari banyak halaman yang cocok dengan kesalahan ini (ini masalah yang diketahui dengan sistem debian/ubuntu):

https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847

bagaimana dengan sudo apt-get install python3-pip ?

Masalah pembuat poster asli adalah karena tidak menginstal paket 'python3.6-venv', yang dapat diverifikasi menggunakan Docker jika Anda tidak memiliki akses ke Debian buster:

$ docker run --rm -it debian:buster /bin/bash
$ apt update
...
$ apt install python3.5 python3.6 python3.5-venv
...
$ python3.6 -m venv venv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/venv/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
$ rm -rf venv
$ apt install python3.6-venv
...
$ python3.6 -m venv venv
... success

Instal 'python3.6-venv', dan itu akan berfungsi.

Wow, sama sekali tidak terpikir oleh saya bahwa akan ada paket -venv versi khusus. Menginstal ini berhasil.

@gst dan @eukaryote Terima kasih banyak telah meluangkan waktu Anda untuk masalah ini.

Solusi oleh @eukaryote bekerja untuk saya. Terima kasih telah memposting ini!

Lokal yang salah dikonfigurasi juga dapat menyebabkan masalah ini, karena jawaban ini memecahkan masalah saya yang menghasilkan pesan kesalahan yang sama dengan OP.

Coba jalankan:

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

hanya satu titik data, tetapi bermain-main dengan bionik ubuntu virtualbox baru, saya menemukan bahwa apt install python3.6-venv masih meninggalkan saya dengan python3.6 -m venv rusak, tetapi menjalankan apt install python3-venv memperbaikinya.

Saya dalam pengujian/buster Debian dan saya mengalami masalah yang sama, sementara python3.6-venv dan python3-venv keduanya diinstal.

Bug debian untuk ini ada di sini btw: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901601

nikolas
Mereka menulis di sana bahwa itu diperbaiki dalam versi terakhir. Jadi saya membuat
apt purge python3.6-venv
dpkg -i --force-depends-version python3.6-venv_3.6.6~rc1-3_amd64.deb # dari snapshot.debian.org
dan itu bekerja untuk saya.
Mungkin saya perlu memperbaikinya nanti: apt --fix-broken install

Tinggalkan komentar di sini, untuk yang datang setelah saya, googling untuk masalah yang sama:

hal yang sama berlaku untuk 3.7 python, Anda harus menginstal python3.7-venv , yaitu apt-get install python3.7-venv

Sekedar informasi, solusi di atas sebenarnya tidak berfungsi untuk python 3.7. apt install python3.7 python3.7-venv pada stock buster docker image masih menghasilkan virtualenv yang rusak ("ensurepip tidak tersedia"). Namun, setelah apt install python3-venv (yang tidak perlu menginstal semua python3.6), Anda dapat membuat python 3.7 venv yang berfungsi termasuk 3.7 pip yang tepat, dengan python3.7 -m venv myvenv . Jadi set perintah kerja lengkap adalah ini:

sudo apt install python3.7 python3-venv python3.7-venv # all three are required
python3.7 -m venv myvenv
. myvenv/bin/activate

(btw, catatan bahwa semua python3.7-venv menginstal adalah sistem boneka ensurepip modul.)

Anda sedang berbicara tentang venv , yang merupakan proyek yang berbeda. Pelacak ini untuk virtualenv.

Saya juga menghadapi masalah yang sama.

[ niraj@abc ~]$/python/v3.7.0/bin/python3 -m venv avd
Kesalahan: Perintah '['/home/niraj/avd/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' mengembalikan status keluar bukan nol 1.

Setelah menambahkan libffi3.3 di jalur LD_LIBRARY saya, ini berfungsi

setenv LD_LIBRARY_PATH /libffi/v3.3/lib64

Pertama saya telah menginstal dengan sudo apt install python3-venv dan memiliki masalah yang sama dan, itu diselesaikan dengan melakukan: sudo apt install python3.6-venv

@eukaryote masih tidak berfungsi. Bisakah kamu menolong? Saya menggunakan Ubuntu 18.04 LTS

Lokal yang salah dikonfigurasi juga dapat menyebabkan masalah ini, karena jawaban ini memecahkan masalah saya yang menghasilkan pesan kesalahan yang sama dengan OP.

Coba jalankan:

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

Ini berfungsi untuk saya di Ubuntu 16.04.6. Terima kasih

Lokal yang salah dikonfigurasi juga dapat menyebabkan masalah ini, karena jawaban ini memecahkan masalah saya yang menghasilkan pesan kesalahan yang sama dengan OP.

Coba jalankan:

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

Terima kasih

Wow, menginstal versi spesifik venv berhasil untuk saya. Dalam kasus saya python3.8-venv.

Terima kasih @jrperin

Menginstal versi spesifik juga berhasil untuk saya: python3.8-venv

Jika versi OS adalah 18,04 atau 20,04:

sudo apt remove python3.6
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.6
sudo apt install python3.6-venv
sudo apt install python3.6-dev

Perangkat Lunak Pendukung Tambahan
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

Apakah halaman ini membantu?
0 / 5 - 0 peringkat