উপরের এই অবদানকারীদের দেওয়া উত্তরগুলি দেখার পরে - জর্গলুব 29, টম, মার্ক, অ্যারন ম্যাকমিলিন, লুকাসামারাল, জোয়েজাও, কেজেল্ড ফ্লারুপ, প্রোসাইক্লিনসুর, মার্টিন.জেনকার, টুটি 44 এবং যে সমস্যার মুখোমুখি হয়েছি সেটিকে ডিবেগ করার কারণে আমি একটি ভিন্ন ব্যবহারের কারণ খুঁজে পেয়েছি due যা আমি এই সমস্যার মুখোমুখি ছিল। সুতরাং কারও উল্লেখের জন্য নীচে আমার পর্যবেক্ষণগুলি যুক্ত করুন
আমার কোডে আমার ক্লাসের একটি চক্রীয় আমদানি ছিল। উদাহরণ স্বরূপ:
src
|-- utilities.py (has Utilities class that uses Event class)
|-- consume_utilities.py (has Event class that uses Utilities class)
|-- tests
|-- test_consume_utilities.py (executes test cases that involves Event class)
আমি টেস্ট ইউটিলিটি.পি -তে লিখিত ইউটিগুলি চালানোর জন্য পাইথন-এম পাইস্টেস্ট পরীক্ষা / টেস্ট_উটিলিটিস.পি চালানোর চেষ্টা করার সময় আমি নিম্নলিখিত ত্রুটি পেয়েছি ।
ImportError while importing test module '/Users/.../src/tests/test_utilities.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_utilities.py:1: in <module>
from utilities import Utilities
...
...
E ImportError: cannot import name 'Utilities'
আমি যেভাবে ত্রুটিটি সমাধান করেছি তা ছিল আমার কোডটিকে চক্রীয় আমদানি শ্রেণিতে কার্যকারিতা সরিয়ে ফ্যাক্টর করে যাতে আমি ক্লাসগুলির চক্রীয় আমদানি সরাতে পারি।
দ্রষ্টব্য, আমার __init__.pyআমার ' src ' ফোল্ডারে ফাইল রয়েছে পাশাপাশি ' পরীক্ষাগুলি ' ফোল্ডারে এবং এখনও কোডটি পুনরায় ফ্যাক্টর করে ' ইম্পোর্টেরর ' থেকে মুক্তি পেতে সক্ষম হয়েছি ।
নিম্নলিখিত স্ট্যাকওভারফ্লো লিঙ্কটি পাইথনের সার্কুলার নির্ভরতার উপর আরও অনেক বিশদ সরবরাহ করে ।