رفع خطای circular import در پایتون

6 دقیقه
naei.ir/blog/video/kpo1ln1

خطای Circular Import زمانی رخ می‌دهد که دو یا چند فایل پایتون به صورت متقابل همدیگر را ایمپورت کنند. مثلاً فایل amir.py داخلش hooshang.py را ایمپورت کرده و همزمان hooshang.py هم amir.py را. این باعث می‌شود پایتون در حلقه بی‌نهایت گیر کند و خطا بدهد.

دلیل خطا Circular Import

وقتی پایتون بخواهد یکی از این فایل‌ها را اجرا کند، به دنبال وارد کردن فایل دوم می‌رود، اما آن فایل هم به فایل اول نیاز دارد و این چرخه ادامه پیدا می‌کند.

راه حل اول: فایل واسط

توابع مشترک را در یک فایل سوم (مثلاً manager.py) قرار دهید. سپس در amir.py و hoshang.py فقط از manager.py ایمپورت کنید. اینجوری دیگر دو فایل مستقیم همدیگر را ایمپورت نمی‌کنند و خطا رفع می‌شود.

راه حل دوم: ایمپورت داخل تابع

ایمپورت‌ها را به جای ابتدای فایل، داخل توابع بگذارید. این باعث می‌شود ماژول‌ها فقط هنگام نیاز بارگذاری شوند و حلقه بی‌نهایت ایجاد نشود.

نکته مهم خطا Circular Import

نام فایل‌ها نباید با نام کتابخانه‌های نصب‌شده پایتون تداخل داشته باشد، چون باعث اشتباه در ایمپورت می‌شود.

امیرحسین نائی
برنامه نویس 💻 علاقمند به بیزینس 🚀
  • موسس آکادمی برنامه‌نویسی نائی
  • بنیان‌گذار کدبزن، رادیو کدبزن، EveryAPI، دستیار بیزینس و...
  • نویسنده‌ی کتاب پرفروش «برنامه‌نویسی رو از اینجا شروع کن!»
  • بیش از 10 سال تجربه در برنامه‌نویسی و راه‌اندازی کسب‌وکار
  • تولیدکننده‌ی ۱۰۰+ ساعت ویدیوی آموزشی رایگان

سایر مطالب

معرفی بهترین سایت ایرانی برای تمرین برنامه نویسی
مقاله آموزشی

معرفی بهترین سایت ایرانی برای تمرین برنامه نویسی

یکی از مهمترین قدم های یادگیری برنامه نویسی، تکرار و تمرینه! برای اینکار سایت های خوب زیادی وجود دارن اما اکثرا انگلیسی زبان هستند و کار کردن با اونا برای فارسی زبانان راحت نیست. توی این مطلب میخوام یه سایت فارسی برای تمرین برنامه نویسی با زبان های مختلف مثل پایتون بهت معرفی کنم که توی مسیر یادگیری خیلی کمکت میکنه  وبسایت کدبزن code-bezan.ir با استفاده از سایت کدبزن میتونی به منبع جامعی از تمرینات برنامه نویسی دسترسی داشته باشی. این تمرین‌ها در سه سطح آسون، متوسط و سخت دسته بندی شدند که کمکت ...

ادامه مطلب
مسیر یادگیری برنامه نویسی وب از صفر تا صد (فرانت اند و بک اند)
مقاله ویدیویی

مسیر یادگیری برنامه نویسی وب از صفر تا صد (فرانت اند و بک اند)

برنامه نویسی وب شغلیه که در چندسال اخیر یکی از پردرآمدترین شغل های ایران و جهان بوده؛ بنابراین در دنیای امروز یادگیری این مهارت میتونه بسیار مفید و پولساز باشه. در ادامه درباره برنامه نویسی و طراحی وب و چگونگی تبدیل شدن به یک متخصص در این حوزه توضیح صحبت میکنیمبرنامه نویس وب یا طراح وب یعنی چی؟به افرادی که میتونند وبسایت های مختلف رو بسازند برنامه نویس وب میگن، با یادگیری این مهارت میتونید در این زمینه مشغول به کار بشید و وبسایت های مختلف رو بسازید  برنامه نویسی بک اند backend یا فرانت اند Fr...

ادامه مطلب
خبرنامه رایگان

ایمیلت رو ثبت کن تا از مقالات جدید، تخفیف دوره ها، محصولات جدید و... زودتر از بقیه باخبر بشی!

تخفیف فقط برای شما

قابل استفاده روی تمام محصولات آموزشی

کد: