يفشل الاختبار الذي يتم إجراؤه باستخدامNovetests باستخدام ImportError، ولكنه يعمل باستخدام أمر python
-
12-11-2019 - |
سؤال
عند إجراء اختبار مع python mycore/tests4extractor.py
إنها تعمل.إذا قمت بإجراء الاختبار مع nosetests ./mycore/tests4extractor.py
فشل مع ImportError: No module named extractor
.أنا في helpers
مجلد.
هيكل المشروع هو:
helpers/
mycore/
__init__.py
extractor.py
tests4extractor.py
تعيين PYTHONPATH على المسار المطلق لـ helpers
و/أو helpers/mycore
لا يساعد.
إجابة
test4extractor.py:
import mycore
from extractor import extract
يجب أن تتغير إلى:
import mycore
from mycore.extractor import extract
وينبغي تشغيل بايثون مع python -mmycore.tests4_strings
المحلول
يفعل tests4extractor.py
يحتوي import extractor
?
لأن mycore
عبارة عن حزمة، تحتاج إلى استخدام الواردات المطلقة:
from mycore import extractor
أو الواردات النسبية:
from . import extractor
لا تنتمي إلى StackOverflow