Virtualenv: خطأ في إنشاء virtualenv باستخدام python3.6

تم إنشاؤها على ٢٢ يونيو ٢٠١٧  ·  24تعليقات  ·  مصدر: pypa/virtualenv

في وقت سابق اليوم ، قمت بتثبيت python3.6 على جهاز دبيان. تم توفير Python3.6 في توزيع باستر. عندما أحاول إنشاء Virtualenv باستخدام python3.6.

python3.6 -m venv venv

يعطي الخطأ التالي.

لم يتم إنشاء البيئة الافتراضية بنجاح بسبب عدم توفر ensurepip. في أنظمة Debian / Ubuntu ، تحتاج إلى تثبيت الحزمة python3-venv باستخدام الأمر التالي.

apt-get install python3-venv

قد تحتاج إلى استخدام sudo مع هذا الأمر. بعد تثبيت ملف python3-venv
الحزمة ، أعد إنشاء البيئة الافتراضية الخاصة بك.

أمر فشل: ['/home/float/test/t/bin/python3.6'، '-Im'، 'ensurepip'، '--upgrade'، '--default-pip']

لدي python3-venv (3.5.3-1) مثبتًا. لماذا أحصل على هذا الخطأ؟ إذا قمت بتشغيل الأمر

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

انها تقول

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

لا أجد صعوبة في إنشاء نماذج افتراضية باستخدام إصدار python3 الافتراضي (3.5.3).

لاحظت أيضًا أنه يمكنني إنشاء Virtualenv على النحو التالي:

virtualenv -p python3.6 venv

التعليق الأكثر فائدة

ترجع مشكلة الملصق الأصلي إلى عدم تثبيت حزمة 'python3.6-venv' ، والتي يمكن التحقق منها باستخدام Docker إذا لم يكن لديك وصول إلى باستر دبيان:

$ 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

قم بتثبيت "python3.6-venv" ، ويجب أن يعمل.

ال 24 كومينتر

مرحبا،

الوحدة الخاصة في Virtualenv و python3 venv هما مشروعان / أشياء مختلفة تمامًا.

تقوم venv بنفس الطريقة التي تقوم بها virtualenv ولكنها مدمجة مباشرة في python3 نفسها.
Virtualenv هو المشروع التاريخي أساسًا (وعادة لا يجب استخدامه مع python3 أثناء وجود venv).

بناءً على إدخالك ، أود أن أقول إن python3-venv قد يكون لإعادة التثبيت ( sudo apt-get reinstall python-venv أو شيء مشابه) من جانبك. لكن يمكن أن أكون مخطئا. على أي حال ، يبدو أن كل هذا يبدو وكأنه متعلق بديبيان ، أنا متأكد تمامًا.

فهل يمكنك إغلاق القضية؟ (أنا لست مشرفًا هنا)
مع تحياتي.

إعادة التثبيت لم تنجح. سأغلق هذه القضية الآن. سوف أقوم بالتحديث إذا كان لدي المزيد من المعلومات.

animeshb ، ليس لديك المزيد من الإخراج بعد

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

لا شيء بعد هذا الخط.

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']

في المجلد venv/bin ، لا يحتوي على أمر تنشيط.

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

يمكنني فقط إعادة توجيهك إلى واحدة من العديد من الصفحات التي تطابق هذا الخطأ (إنها مشكلة معروفة في أنظمة debian / ubuntu):

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

ماذا عن sudo apt-get install python3-pip ؟

ترجع مشكلة الملصق الأصلي إلى عدم تثبيت حزمة 'python3.6-venv' ، والتي يمكن التحقق منها باستخدام Docker إذا لم يكن لديك وصول إلى باستر دبيان:

$ 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

قم بتثبيت "python3.6-venv" ، ويجب أن يعمل.

واو ، لم يخطر ببالي مطلقًا أنه ستكون هناك حزمة إصدار معين من venv. تثبيت هذا أدى إلى الحيلة.

gst و eukaryote شكرًا جزيلاً لك على قضاء وقتك في هذه المسألة.

الحل من eukaryote يعمل معي. شكرا لنشر هذه!

يمكن أن تؤدي الإعدادات المحلية المكونة بشكل خاطئ أيضًا إلى حدوث هذه المشكلة ، لأن هذه الإجابة تحل مشكلتي التي تنتج نفس رسالة الخطأ مثل OP.

حاول التنفيذ:

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

نقطة بيانات واحدة فقط ، ولكن العبث مع Virtualbox ubuntu bionic جديد ، وجدت أن apt install python3.6-venv لا يزال يترك لي python3.6 -m venv ، لكن تشغيل apt install python3-venv أصلحه.

أنا أعمل على اختبار / باستر Debian وأواجه نفس المشكلة ، بينما تم تثبيت كل من python3.6-venv و python3-venv .

الخطأ debian لهذا موجود هنا بالمناسبة: https://bugs.debian.org/cgi-bin/bugreport.cgi؟bug=901601

نيكولاس
يكتبون هناك أنه تم إصلاحه في الإصدار الأخير. لذلك صنعت
apt تطهير python3.6-venv
dpkg -i - فرض-تعتمد-إصدار python3.6-venv_3.6.6 ~ rc1-3_amd64.deb # من snapshot.debian.org
ويعمل بالنسبة لي.
ربما سأحتاج إلى الإصلاح لاحقًا: تثبيت صحيح معطل

مجرد ترك تعليق هنا ، لأولئك الذين وصلوا بعدي ، ابحث على Google عن نفس المشكلة:

الأمر نفسه ينطبق على 3.7 من python ، يجب عليك تثبيت python3.7-venv ، أي apt-get install python3.7-venv

فقط لمعلوماتك ، لا يعمل الحل أعلاه في الواقع مع Python 3.7. apt install python3.7 python3.7-venv على صورة عامل إرساء مخزون لا يزال ينتج صورة افتراضية معطلة ("ensurepip غير متوفر"). ومع ذلك ، بعد apt install python3-venv (الذي يقوم بدون داع بتثبيت python3.6) ، يمكنك إنشاء python 3.7 venv عامل بما في ذلك 3.7 نقطة مناسبة ، مع python3.7 -m venv myvenv . لذا فإن مجموعة أوامر العمل الكاملة هي كما يلي:

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

(راجع للشغل ، لاحظ أن جميع عمليات التثبيت python3.7-venv عبارة عن نظام وهمي وحدة ensurepip .)

أنت تتحدث عن venv ، وهو مشروع مختلف. هذا المقتفي مخصص لـ virtualenv.

كنت أيضا أواجه نفس المشكلة.

[ niraj @ abc ~] $ / python / v3.7.0 / bin / python3 -m venv avd
خطأ: قام الأمر '[' / home / niraj / avd / bin / python3 '،' -Im '،' ensurepip '،' --upgrade '،' --default-pip ']' بإرجاع حالة خروج غير صفرية 1.

بعد إضافة libffi3.3 على مسار LD_LIBRARY الخاص بي ، فإنه يعمل

setenv LD_LIBRARY_PATH /libffi/v3.3/lib64

لقد قمت بتثبيت Fisrt بـ sudo apt install python3-venv وواجهت نفس المشكلة وتم حلها عن طريق: sudo apt install python3.6-venv

eukaryote ما زال لا يعمل. هل يمكنك المساعدة؟ أنا على Ubuntu 18.04 LTS

يمكن أن تؤدي الإعدادات المحلية المكونة بشكل خاطئ أيضًا إلى حدوث هذه المشكلة ، لأن هذه الإجابة تحل مشكلتي التي تنتج نفس رسالة الخطأ مثل OP.

حاول التنفيذ:

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

هذا العمل بالنسبة لي على Ubuntu 16.04.6. شكرا

يمكن أن تؤدي الإعدادات المحلية المكونة بشكل خاطئ أيضًا إلى حدوث هذه المشكلة ، لأن هذه الإجابة تحل مشكلتي التي تنتج نفس رسالة الخطأ مثل OP.

حاول التنفيذ:

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

شكرا لكم

رائع ، لقد نجح تثبيت الإصدار المحدد من venv بالنسبة لي. في حالتي ، python3.8-venv.

jrperin شكرا

لقد نجح تثبيت الإصدار المحدد بالنسبة لي أيضًا: python3.8-venv

إذا كان إصدار نظام التشغيل هو 18.04 أو 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

برامج دعم إضافية
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات