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
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
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:
Instal 'python3.6-venv', dan itu akan berfungsi.