ویدیو رفع خطای 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

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

خبرنامه رایگان

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

امیرحسین نائی
برنامه نویس؛ علاقمند به بیزینس
  • موسس آکادمی برنامه نویسی امیرحسین نائی
  • موسس وبسایت «کدبزن»
  • نویسنده کتاب «برنامه نویسی رو از اینجا شروع کن!»
  • 9 سال سابقه برنامه نویسی و راه اندازی کسب و کار با برنامه نویسی
  • تولید بیش از 100 ساعت دوره آموزشی رایگان

سایر مطالب

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

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

کد: