ahmed1990 نشر 11 نوفمبر 2015 أرسل تقرير نشر 11 نوفمبر 2015 أريد أن أعيد استدعاء وحدة معينة في سكربت بايثون لكن كلما أقوم بإعادة الاستدعاء احصل على رسالة الخطأ التالية:NameError: name 'reload' is not defined على الرغم من أن نفس السكربت اشتغل على حاسوبي الآخر دون مشاكل فما سبب هذه المشكلة؟ اقتباس
1 هشام رزق الله نشر 11 نوفمبر 2015 أرسل تقرير نشر 11 نوفمبر 2015 أعتقد أن حل هذه المشكلة بسيط للغاية، فإذا كنت تستخدم الإصدار الثاني من بايثون فستكون التعليمة البرمجية لإعادة تحميل وحدة معينة كالتالي:reload(my.module) لكن في الإصدارات الحديثة للبايثون حدثت عدّة تغييرات في بايثون فمثلا لو كنت تستخدم الإصدار 3.2 و 3.3 فيجب عليك في هذه الحالة استدعاء مكتبة imp ومن ثم استخدام دالة reload، لإعادة تحميل الوحدة كما في المثال التالي:import imp imp.reload(module) وفي الإصدار 3.4 فما فوق يجب استدعاء دالة reload من وحدة importlib.أي أن حل هذه المشكلة هو التأكد من إصدار بايثون الذي يعمل عليه السكربت.المصدر اقتباس
السؤال
ahmed1990
أريد أن أعيد استدعاء وحدة معينة في سكربت بايثون لكن كلما أقوم بإعادة الاستدعاء احصل على رسالة الخطأ التالية:
على الرغم من أن نفس السكربت اشتغل على حاسوبي الآخر دون مشاكل فما سبب هذه المشكلة؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.