سؤال

لذا فتح المعبر ، المضغوط إلى سطح المكتب و تشغيلها:

virtualenv test_env

ثم إنشاء الملف التالي في بيئة طبيعية:

/home/jesse/.local/lib/python2.6/site-packages/foo_package/__init__.py

يحتوي هذا الملف على سطر واحد:

print "importing from normal env"

في test_env إنشاء:

/home/jesse/Desktop/test_env/lib/python2.6/site-packages/foo_package/__init__.py

تحتوي على:

print "importing from test env"

الآن أفتح الطرفية وتشغيل:

$ /home/jesse/Desktop/test_env/bin/python

ومن ثم القيام:

>>> import foo_package

التي النواتج:

importing from normal env

لماذا لا استيراد الملف من test_env?اعتقدت أن كان المقصد من virtualenv.أنا في عداد المفقودين شيئا ؟

تحرير: جون ساعة أبلغني أنني بحاجة إلى تفعيل البيئة.ولكن هذا لا يبدو أن حل المشكلة...

jesse@jesse-laptop:~/Desktop/test_env$ source bin/activate
(test_env)jesse@jesse-laptop:~/Desktop/test_env$ bin/python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import foo_package
importing from normal env
>>> 

باستخدام أوبونتو 9.04 / بيثون 2.6.2 / virtualenv 1.33 في القضية ذات الصلة.

تحرير 2: هاس طلب مني ما sys.المسار في virtualenv...

jesse@jesse-laptop:~/Desktop/test_env$ source bin/activate
(test_env)jesse@jesse-laptop:~/Desktop/test_env$ bin/python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path

الإخراج:[", '/home/جيسي/سطح المكتب/test_env/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/enum-0.4.3-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/clonedigger-1.0.9_beta-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/ETS-3.2.0-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/TraitsGUI-3.0.4-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/TraitsBackendWX-3.1.0-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/TraitsBackendQt-3.1.0-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/صفار البيض-0.4.1-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/pylint-0.18.0-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/logilab_astng-0.19.0-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/logilab_common-0.39.0-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/pudb-0.92.7-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/Pygments-1.0-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/ETSProjectTools-0.5.1-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/pydee-0.4.24-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/visionegg-1.2.1-py2.6-لينكس-i686.البيض', '/usr/local/lib/python2.6/حي الحزم/PyOpenGL-3.0.0c1-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/إز-0.2.6-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/pyinotify-0.8.6-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/svgbatch-0.1.9-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/pyglet-1.1.3-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/يبتون-1.0b2-py2.6-لينكس-i686.البيض', '/usr/local/lib/python2.6/حي الحزم/حبل 0.9.2-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/simplejson-2.0.9-py2.6-لينكس-i686.البيض', '/usr/local/lib/python2.6/حي الحزم/pymunk-0.8.4-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/cssutils-0.9.6-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/رشيق-1.0.14-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/sympy-0.6.5-py2.6.البيض', '/usr/local/lib/python2.6/حي الحزم/virtualenvwrapper-1.20-py2.6.البيض', '/home/جيسي/سطح المكتب/test_env/lib/python2.6', '/home/جيسي/سطح المكتب/test_env/lib/python2.6/بلات-linux2', '/home/جيسي/سطح المكتب/test_env/lib/python2.6/lib-المعارف التقليدية', '/home/جيسي/سطح المكتب/test_env/lib/python2.6/lib يبلغ من العمر', '/home/جيسي/سطح المكتب/test_env/lib/python2.6/lib-dynload', '/usr/lib/python2.6', '/usr/lib/python2.6/بلات-linux2', '/usr/lib/python2.6/lib-المعارف التقليدية', '/home/جيسي/.local/lib/python2.6/site-packages', '/home/جيسي/سطح المكتب/test_env/lib/python2.6/site-packages', '/usr/local/lib/python2.6/dist-الحزم', '/usr/lib/python2.6/dist-الحزم', '/usr/lib/python2.6/حي الحزم/الرقمية', '/usr/lib/python2.6/حي الحزم/PIL', '/usr/lib/python2.6/حي الحزم/gst-0.10', '/var/lib/python-دعم/python2.6', '/usr/lib/python2.6/حي الحزم/gtk-2.0', '/var/lib/python-دعم/python2.6/gtk-2.0', '/usr/lib/python2.6/حي الحزم/wx-2.8-gtk2-unicode']

تحرير 3: لقد وجدت هذا: https://bugs.launchpad.net/ubuntu/+source/python-virtualenv/+bug/339904 على ما يبدو هناك بعض القضايا مع virtualenv + بيثون 2.6 + أوبونتو 9.04.لست متأكدا إذا كان هذا هو ذات الصلة إلى قضية بلدي...حاولت إلغاء تثبيت بيثون-virtualenv حزمة عبر متشابك ثم تثبيت النسخة 1.3.4 من virtualenv عبر easy_install, ولكن لا تزال لديها نفس المشكلة...

jesse@jesse-laptop:~/Desktop/test_env$ source bin/activate
(test_env)jesse@jesse-laptop:~/Desktop/test_env$ bin/python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import foo_package
importing from normal env
>>> import sys
>>> print sys.path
['', '/home/jesse/Desktop/test_env/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg', '/home/jesse/Desktop/test_env/lib/python2.6', '/home/jesse/Desktop/test_env/lib/python2.6/plat-linux2', '/home/jesse/Desktop/test_env/lib/python2.6/lib-tk', '/home/jesse/Desktop/test_env/lib/python2.6/lib-old', '/home/jesse/Desktop/test_env/lib/python2.6/lib-dynload', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/home/jesse/.local/lib/python2.6/site-packages', '/home/jesse/Desktop/test_env/lib/python2.6/site-packages', '/usr/local/lib/python2.6/dist-packages/enum-0.4.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/clonedigger-1.0.9_beta-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/ETS-3.2.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/TraitsGUI-3.0.4-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/TraitsBackendWX-3.1.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/TraitsBackendQt-3.1.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/yolk-0.4.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pylint-0.18.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/logilab_astng-0.19.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/logilab_common-0.39.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pudb-0.92.7-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Pygments-1.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/ETSProjectTools-0.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pydee-0.4.24-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/visionegg-1.2.1-py2.6-linux-i686.egg', '/usr/local/lib/python2.6/dist-packages/PyOpenGL-3.0.0c1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Whoosh-0.2.6-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pyinotify-0.8.6-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/svgbatch-0.1.9-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pyglet-1.1.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/lepton-1.0b2-py2.6-linux-i686.egg', '/usr/local/lib/python2.6/dist-packages/rope-0.9.2-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/simplejson-2.0.9-py2.6-linux-i686.egg', '/usr/local/lib/python2.6/dist-packages/pymunk-0.8.4-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/cssutils-0.9.6-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Shapely-1.0.14-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/sympy-0.6.5-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/virtualenvwrapper-1.20-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/virtualenv-1.3.4-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/enum-0.4.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/ETS-3.2.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/yolk-0.4.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Whoosh-0.2.6-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pyinotify-0.8.6-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pyglet-1.1.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/simplejson-2.0.9-py2.6-linux-i686.egg', '/usr/local/lib/python2.6/site-packages', '/usr/local/lib/python2.6/site-packages/gtk-2.0', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/Numeric', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/var/lib/python-support/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/var/lib/python-support/python2.6/gtk-2.0', '/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode']

هذا يبدو وكأنه خطوة إلى الأمام ، لأن test_env الأشياء التي تظهر في الطريق, لكنه لا يزال لا يعمل.أعتقد أن المشكلة الحالية هي أن '/home/جيسي/.local/lib/python2.6/site-packages' يحدث في الطريق قبل '/home/جيسي/سطح المكتب/test_env/lib/python2.6/site-packages'

تحرير 4: روجر اقترح إنشاء env مع-لا-site-packages الخيار.حاولت ذلك.نفس المشكلة.

jesse@jesse-laptop:~/Desktop/test_env$ source bin/activate
(test_env)jesse@jesse-laptop:~/Desktop/test_env$ bin/python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import foo_package
importing from normal env
>>> import sys
>>> sys.path
['', '/home/jesse/Desktop/test_env/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg', '/home/jesse/Desktop/test_env/lib/python2.6', '/home/jesse/Desktop/test_env/lib/python2.6/plat-linux2', '/home/jesse/Desktop/test_env/lib/python2.6/lib-tk', '/home/jesse/Desktop/test_env/lib/python2.6/lib-old', '/home/jesse/Desktop/test_env/lib/python2.6/lib-dynload', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/home/jesse/.local/lib/python2.6/site-packages', '/home/jesse/Desktop/test_env/lib/python2.6/site-packages']
>>> 

مرة أخرى, يبدو أن المشكلة من الموقع حزم في بلدي ".المحلية" يظهر في وقت سابق في الطريق من موقع حزم في "test_env".

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

المحلول

كنت الوقوع في الخلل في virtualenv.لم يتم تحديث في التعامل معها .الدلائل المحلية بشكل صحيح.لقد رفعت قضية هذا في تعقب علة.

التحديث:هذا الخطأ هو ثابت الآن في virtualenv 1.4.2 في وقت لاحق.

نصائح أخرى

من الخطوات التي ذكرتها يبدو أنك لم تقم بتفعيل الظاهري env.هل:

source bin/activate

..داخل virtualenv قمت بإنشائه.يجب أن ترى شيئا مثل:

(test_env)computername:foldername$

تشغيل الثعبان من هنا يجب على virtualenv الإصدار.

دون هذه الخطوة سوف لا تزال تستخدم الافتراضي الخاص بك الثعبان التثبيت.

تحرير:بعد فوقي صحيح لقد نسيت تفعيل.باستخدام virtualenvwrapper لم أقم بهذه الخطوة؟:)

وتبحث في ذلك ، يبدو أنك تفعل كل ما هو صواب ولكن أود أن أقترح في حال كنت قد سمعت أبدا من ذلك: virtualenvwrapper يجعل العمل مع virtualenv أسرع بكثير وأسهل.قد يكون متعة في محاولة ذلك ومعرفة ما إذا كنت لا تزال تحصل على نفس الموضوع, ربما ستجد ما كنت في عداد المفقودين.

و تحتاج إلى إنشاء بيئة افتراضية مع الخيار-لا-site-packages

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