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

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

دلیل خطا Circular Import

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

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

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

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

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

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

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

راهنمای رایگان · ۳ دقیقه

از کدام دوره شروع کنم؟

با چند سؤال کوتاه، مسیر و دورهٔ مناسب خودت را پیدا کن.

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

اولین پروژه‌ات را با پایتون بساز

از پایه شروع کن و با تمرین‌های واقعی برنامه‌نویسی را یاد بگیر.

سایر مطالب

کدوم حوزه برنامه نویسی بهتره؟
مقاله آموزشی

کدوم حوزه برنامه نویسی بهتره؟

اگه تازه میخوای برنامه نویسی رو شروع کنی حتما برات سوال شده که کدوم حوزه برنامه نویسی بهتره؟ برنامه نویسی وب رو یاد بگیرم یا اندروید؟ هوش مصنوعی بهتره یا برنامه نویسی ios یا.... توی این مطلب درباره حوزه های مختلف برنامه نویسی صحبت میکنم و در نهایت بهترین حوزه ها رو بهت معرفی میکنم.همونطور که میدونی دنیای برنامه نویسی خیلی بزرگه و حوزه های مختلفی برای برنامه نویسی وجود دارند. برنامه نویسی وب، اندروید، ios و ویندوز و... از این حوزه ها هستند اما قطعا تمام این حوزه ها برای فعالیت مناسب نیستند و ب...

ادامه مطلب
۷ راهکار کاربردی برای افزایش تمرکز برنامه‌نویسان
مقاله آموزشی

۷ راهکار کاربردی برای افزایش تمرکز برنامه‌نویسان

احتمالاً برات پیش اومده که بشینی پای لپ‌تاپ برای کدنویسی، اما بعد از یک ساعت ببینی خروجی‌ت خیلی کمتر از چیزی بوده که انتظار داشتی. دلیلش چیه؟ معمولاً حواس‌پرتی. تمرکز کردن موقع برنامه‌نویسی کار آسونی نیست، چون گوشی نوتیف میده، اطراف شلوغه یا خودت خسته‌ای. اینجاست که سوال اصلی پیش میاد: چطوری با تمرکز بیشتری برنامه‌نویسی یا کدنویسی کنیم؟توی این بلاگ می‌خوام ۷ تا راهکار کاربردی و عملی رو بگم که کمک می‌کنه موقع کدنویسی متمرکزتر باشی. این نکته‌ها هم ساده‌ان، هم قابل اجرا. چرا تمرکز برای برنامه‌نو...

ادامه مطلب