سؤال

لدي مشكلة في virtualenv. أستخدمها تنظيمي، وأنا استخدمها على جهاز التطوير الخاص بي وعلى عدة خوادم. ولكن في هذا الخادم الأخير حاولت استخدام مشكلة.

لقد قمت بإنشاء Virtualenv مع وسيطة - No-Site-Package، ثم قمت بتثبيت بعض وحدات Python داخل Virtualenv. يمكنني تأكيد أن الوحدات النمطية موجودة داخل حزم موقع Virtualenvs ويبدو أن كل شيء على ما يرام.

ولكن عندما أحاول القيام به:source virtualenv/bin/activate ثم استيراد واحدة من الوحدة python import modulename أحصل على خطأ في الواردات التي تقول أن الوحدة النمطية لا وجود لها. كيف يحدث هذا؟ يبدو أن الأمر يبدو أنه لا ينشط حتى Thoug أنه يقول إنه يفعل ذلك.

أي شخص لديه فكرة عن كيفية إصلاح هذا؟

هل كانت مفيدة؟

المحلول

هل هناك اسم مستعار باش نشط في هذا الجهاز ل "بيثون"، بأي فرصة؟ من شأنها أن تتخذ الأولوية على تعديلات المسار التي تتم من خلال تنشيطها، ويمكن أن تتسبب في استخدام ثنائي الثنائي الخطأ.

حاول تشغيل Virtualenv / Bin / Python مباشرة (لا حاجة إلى التنشيط) ومعرفة ما إذا كان يمكنك استيراد الوحدة النمطية الخاصة بك.

إذا كان هذا يعمل، فأنت بحاجة فقط للتخلص من اسم مستعار Python Bash الخاص بك.

نصائح أخرى

بعد تنشيط Env الظاهري، حاول:

$ python
>>> import sys
>>> sys.executable
...

... ومعرفة ما إذا كنت تقوم بتشغيل الملف التنفيذ المتوقع.

تحقق أيضا:

>>> sys.path
[...]

iIRC، يقوم البرنامج النصي بتنشيط Env بوضع ENV الظاهري الخاص بك أولا على مسارك، لذلك عند كتابة "Python"، تجد الواحد في ENV الظاهري الخاص بك أولا. إذا فشل برنامج تنشيط البرنامج النصي، يمكنك دائما تحرير طريقك يدويا. أيضا - اذهب هنا والبحث عن "تنشيط": http://pylonsbook.com/en/1.1/installing-pylons.html#Setting-Up-A-Virtual-Python-environment.. وبعد سيخبرك هذا سبب فشل الأمر التنشيط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top