يفشل الاختبار الذي يتم إجراؤه باستخدامNovetests باستخدام ImportError، ولكنه يعمل باستخدام أمر python

StackOverflow https://stackoverflow.com/questions/9429202

سؤال

عند إجراء اختبار مع 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top