خطأ استيراد بيثون وحدة في جانغو
-
21-09-2019 - |
سؤال
في جانغو المشروع السطر التالي يلقي ImportError:"لا وحدة اسمه elementtree".
from elementtree import ElementTree
ومع ذلك ، يتم تثبيت وحدة (أي لا يمكن تشغيل تفاعلية python shell ثم اكتب هذا السطر المحدد دون أي ImportError) و الدليل الذي يحتوي على وحدة نمطية على PYTHONPATH.ولكن عند الوصول إلى أي صفحة في المتصفح بطريقة أو بأخرى لا يمكن العثور على وحدة و يلقي ImportError.ما يمكن أن يسبب هذا ؟
المحلول
هل يمكنك الاستيراد elementtree
داخل قذيفة Django:
python manage.py shell
على افتراض أن لديك إصدارات متعددة من الثعبان ولا تعرف أي منها يتم استخدامه لتشغيل موقعك ، أضف ما يلي إلى عرضك وادفع python_ver
إلى القالب الخاص بك ، سيظهر لك إصدار Python الذي تستخدمه:
import sys
python_ver = sys.version
يمكنك أيضًا إضافة المسار بشكل صريح إلى ElementTree برمجيًا في settings.py
:
import sys
sys.path.append('path to where elementtree resides')
نصائح أخرى
لقد واجهت أيضًا مشكلات متعددة المنصات حيث كانت ElementTree متاحة من وحدات مختلفة على أنظمة مختلفة ... انتهى الأمر بالعمل بالنسبة لي:
try:
import elementtree.ElementTree as ET
except:
import xml.etree.ElementTree as ET
قد تساعدك أو لا تساعدك ...
في دليل التثبيت
على سبيل المثال:
C:\Python26\Lib\site-packages
ومعرفة ما اذا كان كل elementtree و جانغو هناك.
إذا كان كلاهما لم يكن هناك, ثم ربما لديك عدة دلائل التثبيت للحصول على إصدارات مختلفة من بيثون.
في أي حال, يمكنك حل المشكلة عن طريق تشغيل هذا الأمر:
بيثون setup.py تثبيت
تشغيله مرتين, مرة واحدة داخل تحميل django مرة واحدة داخل تحميل elementtree.فإنه سيتم تثبيت كل من التنزيلات في كل ما الافتراضي الحالي الخاص بك الثعبان هو.
المراجع: