رفع خطای 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 سال تجربه در برنامه‌نویسی و راه‌اندازی کسب‌وکار
  • تولیدکننده‌ی ۱۰۰+ ساعت ویدیوی آموزشی رایگان

سایر مطالب

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

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

حتما یکی از بزرگترین چالش‌هات موقع برنامه نویسی، خطاها و مشکلاتی هست که بهش برمیخوری اما میخوام بهت بگم که کاملا طبیعیه چون همه برنامه نویسان؛ از مبتدی گرفته تا متخصص همیشه به خطا و مشکل برمیخورن و چیزی که خیلی مهمه اینه که یادبگیری خودت مشکلت رو حل کنی! توی این ویدیو چند روش خیلی مهم و موثر و در عین حال ساده رو آموزش دادم که لازمه هر برنامه نویسی بلدش باشه. با یادگیری این روش ها خیلی ساده تر میتونی مشکلات کدت رو پیدا و حلش کنی. توی این ویدیو درباره اینکه چطوری متن خطارو بررسی کنی صحبت میکنم...

ادامه مطلب
ویژگی های منبع خوب برای یادگیری برنامه نویسی
مقاله ویدیویی

ویژگی های منبع خوب برای یادگیری برنامه نویسی

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

ادامه مطلب

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

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

کد: