الانتقال إلى المحتوى الرئيسي

كيفية إصلاح الخطأ "المرجع الذي لم يتم حله" في بايثون

واحدة من رسائل الخطأ الشائعة التي يواجهها مطورو بايثون هي "مرجع لم يتم حله" (مرجع غير محدد). هذا يعني أن الكود الخاص بك يحتوي على مرجع لمتغير أو دالة لم يتم تعريفها في النطاق الحالي.

يمكن أن يحدث هذا الخطأ لأسباب مختلفة. على سبيل المثال ، أثناء كتابة الكود ، ربما تكون قد ارتكبت خطأ مطبعيا باسم متغير أو دالة. من الممكن أيضا أنك تحاول الوصول إلى متغير أو وظيفة محددة في ملف آخر ولكن لم يتم استيرادها إلى الملف الحالي.

لإصلاح هذا الخطأ ، تحتاج إلى العثور على مكان يتم فيه استخدام ارتباط غير محدد وإصلاحه. للقيام بذلك ، تحقق من المتغيرات والوظائف الخاصة بك بحثا عن الأخطاء المطبعية في الأسماء ، وتأكد أيضا من استيراد جميع الوحدات الضرورية.

مثال:

من وظيفة استيراد الوحدة النمطية

متغير = وظيفة()

إذا كان الخطأ "مرجع لم يتم حلها" لا يزال بعد هذه الشيكات ، فمن الممكن أن كنت تستخدم نسخة قديمة من بيثون أو تحتاج إلى تثبيت مكتبات إضافية. في هذه الحالة ، يوصى بتحديث بايثون والتحقق من تثبيت جميع التبعيات الضرورية.

لذلك ، إذا واجهت خطأ "المرجع الذي لم يتم حله" في بايثون ، فلا داعي للذعر. اتبع النصائح المذكورة أعلاه وتحقق من التعليمات البرمجية الخاصة بك بحثا عن الأخطاء المطبعية والواردات الصحيحة وإصدارات بايثون الحديثة. حظا سعيدا إصلاح الخلل!

  1. تحقق مما إذا كان اسم المتغير مكتوبا بشكل صحيح
  2. تحقق من رؤية المتغير في النطاق المطلوب
  3. تأكد من استيراد الوحدة المطلوبة
  4. تحقق من توفر الملف المطلوب
  5. تحقق من صحة المسار إلى الملف أو الوحدة النمطية
  6. تحديث بيئة التطوير الخاصة بك أو مترجم بايثون
  7. تحقق من إصدار المكتبات والوحدات النمطية المستخدمة

تحقق مما إذا كان اسم المتغير مكتوبا بشكل صحيح

أحد الأسباب الأكثر شيوعا لخطأ "المرجع الذي لم يتم حله" في بايثون هو التهجئة غير الصحيحة لاسم المتغير. إذا لم يتمكن مترجم بايثون من العثور على تعريف متغير ، فإنه يلقي هذا الخطأ.

لتصحيح الخطأ ، تحقق بعناية من تهجئة اسم المتغير. انتبه إلى النقاط التالية:

  • .
  • سيتم اعتبار المتغيرات المختلفة.
  • تأكد من تحديد نطاق المتغير بشكل صحيح. إذا كنت تحاول استخدام متغير داخل دالة ، فتأكد من إعلانه داخل تلك الوظيفة أو تمريره كمعلمة.

من المهم أيضا ملاحظة أن بعض بيئات التطوير المتكاملة (إيدس) يمكن أن تساعدك على اكتشاف وإصلاح الأخطاء "المرجعية التي لم يتم حلها". يمكنهم تقديم تلميحات وإكمال تلقائي لأسماء المتغيرات ، مما يسهل العثور على الأخطاء.

إذا اتبعت هذه التوصيات ، فستتمكن من إصلاح الخطأ "المرجع الذي لم يتم حله" والحصول على برنامج بيثون يعمل.

تحقق من رؤية المتغير في النطاق المطلوب

غالبا ما يحدث خطأ "المرجع الذي لم يتم حله" لأن المتغير غير محدد في النطاق المطلوب. يحدد النطاق مكان توفر المتغير وأين يمكن استخدامه.

عند العمل مع المتغيرات في بايثون ، ينبغي النظر في الميزات التالية:

  • النطاق المحلي: المتغيرات المحددة داخل دالة أو طريقة محلية لتلك الوظيفة أو الطريقة. هذه المتغيرات غير متوفرة خارج هذه الوظيفة أو الطريقة. إذا حاولت الوصول إلى مثل هذا المتغير خارج نطاقه ، فستحصل على خطأ "المرجع الذي لم يتم حله". لتصحيح الخطأ ، تأكد من تعريف المتغير في النطاق المطلوب أو تمرير قيمته بشكل صريح.
  • منفذ العرض العالمي: المتغيرات المحددة خارج الوظائف أو الأساليب عالمية ومتاحة في أي جزء من البرنامج. إذا حصلت على خطأ "مرجع لم يتم حله" لمتغير عمومي ، فتحقق مما إذا كان قد تم تعريفه داخل دالة أو طريقة بنفس الاسم. في هذه الحالة ، سيتم اعتبار المتغير محليا للوظيفة أو الطريقة ، ولن يكون المتغير العام متاحا.
  • نطاق الوحدة: المتغيرات المحددة مباشرة في الوحدة هي عالمية ومتاحة داخل هذه الوحدة. إذا حصلت على خطأ "مرجع لم يتم حله" لمتغير محدد في وحدة نمطية ، فتأكد من تعريفه في المستوى الأعلى للوحدة وأن اسم المتغير لا يتعارض مع المتغيرات الأخرى في الوحدة النمطية.

إذا لم تساعدك هذه التوصيات في إصلاح الخطأ "المرجع الذي لم يتم حله" ، فارجع إلى وثائق بايثون أو اتصل بمجتمع مطوري بايثون للحصول على المساعدة.

تأكد من استيراد الوحدة المطلوبة

أحد الأسباب الأكثر شيوعا لخطأ "المرجع الذي لم يتم حله" في بايثون هو عدم استيراد الوحدة المطلوبة.

في بايثون ، الوحدة النمطية هي ملف يحتوي على تعريفات للوظائف والفئات التي يمكن استخدامها في برامج أخرى. من أجل استخدام الوظائف والفئات من وحدة نمطية ، يجب استيرادها.

لاستيراد وحدة نمطية إلى بايثون ، يتم استخدام الكلمة الرئيسية للاستيراد على النحو التالي:

اسم وحدة الاستيراد

وظيفة من الوحدة

الرياضيات

، تحتاج إلى إضافة السطر التالي إلى بداية التعليمات البرمجية الخاصة بك:

س = الرياضيات.مربع (25)

طباعة (خ)

في هذا المثال ، نستخدم

الجذر التربيعي()

وظيفة من الوحدة 

من اسم الوحدة النمطية استيراد الدالة

هنا اسم الوحدة النمطية هو اسم الوحدة النمطية ، واسم الوظيفة هو اسم الوظيفة أو الفئة التي تريد استيرادها. على سبيل المثال:

من الرياضيات استيراد الجذر التربيعي

إذا كنت ترغب في استيراد عدة وظائف أو فئات من وحدة نمطية ، يمكنك تحديد أسمائهم مفصولة بفواصل:

من اسم الوحدة النمطية استيراد الدالة 1 ، الدالة 2 ، الفئة 1 ، الفئة 2

على سبيل المثال:

من الرياضيات استيراد الجذر التربيعي ، الخطيئة ، كوس ، بي

  1. في هذا المثال ، نقوم باستيراد الوظائف
  2. كوس()
  3. من الوحدة
  4. الرياضيات

.

وبالتالي ، تحقق من الكود الخاص بك وتأكد من أنه يحتوي على واردات الوحدة الضرورية. سيؤدي ذلك إلى تجنب الخطأ" المرجع الذي لم يتم حله " واستخدام جميع الوظائف والفئات الضرورية بنجاح.

تحقق من توفر الملف المطلوب

إذا حدث خطأ "المرجع الذي لم يتم حله" في برنامج بايثون الخاص بك عند محاولة استيراد وحدة نمطية أو استخدام متغير ، فإن الخطوة الأولى هي التحقق من الملف الضروري.

في حالة حدوث خطأ "المرجع الذي لم يتم حله" ، لا يمكن لبيثون العثور على الوحدة النمطية أو المتغير المحدد ، لأن لا يمكنه العثور على ملف تعريف الوحدة النمطية المقابل أو إعلان المتغير.

  • لإصلاح هذا الخطأ ، تحتاج إلى التحقق من أن الملف الذي تم تعريف الوحدة فيه أو تم الإعلان عن المتغير موجود في نفس الدليل مثل الملف الذي تحاول استخدامه فيه. إذا كانت الملفات في أدلة مختلفة ، فأنت بحاجة إلى التأكد من تحديد المسار إلى الملف بشكل صحيح.
  • إذا كان الملف موجودا في دليل آخر ، فقد تحتاج إلى إضافة هذا الدليل إلى متغير بيئة بيثونباث. بيثونباث هو متغير البيئة التي تحتوي على قائمة من الدلائل التي بيثون يبحث عن وحدات.
  • في معظم الحالات ، يتم استخدام الطريقة التالية لإضافة دليل إلى بيثونباث:

افتح موجه الأوامر أو المحطة الطرفية.

اكتب الأمر

تصدير بيثونباث= " / مسار / إلى / الدليل: {{بيثونباث}"

، أين

  1. / المسار / إلى / الدليل
  2. - هذا هو المسار إلى الدليل حيث يوجد الملف الذي تريد استيراده.
  3. استبدال
  4. / المسار / إلى / الدليل

إلى المسار الفعلي إلى الدليل.

أعد تشغيل برنامج بايثون الخاص بك.

بعد إضافة الدليل إلى بيثونباث ، سوف بيثون تكون قادرة على العثور على الملف مع تعريف وحدة أو إعلان متغير.

تحقق من صحة المسار إلى الملف أو الوحدة النمطية

تأكد من أن الملف أو الوحدة النمطية في المكان الصحيح. إذا تم نقل ملف أو وحدة نمطية أو إعادة تسميتها ، فقد يؤدي ذلك إلى خطأ "مرجع لم يتم حله".

تأكد من وجود الملف أو الوحدة النمطية في الدليل المحدد في متغير بيئة بيثونباث. إذا لم يكن الملف أو الوحدة النمطية في بيثونباث ، فقد لا تتمكن بايثون من العثور عليها وستعطي الخطأ "مرجع لم يتم حله".

إذا بقي خطأ "المرجع الذي لم يتم حله" بعد التحقق من هذه النقاط ، فربما تكون المشكلة في مكان آخر في التعليمات البرمجية الخاصة بك. يوصى بالتحقق من الرمز بعناية وقراءة وثائق المكتبة أو الوحدة النمطية المقابلة للعثور على سبب الخطأ.