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

سایر مطالب

برنامه نویسی یعنی چی؟
مقاله ویدیویی

برنامه نویسی یعنی چی؟

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

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

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

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

ادامه مطلب