عند تنفيذ برنامج نصي Python يتضمن Matplotlib على الخادم، قد تواجه الخطأ خطأ "_tkinter.TclError: لا يوجد اسم عرض ولا يوجد متغير بيئة $DISPLAY." ينشأ هذا الخطأ لأن Matplotlib يستخدم الواجهة الخلفية لـ Xwindows افتراضيًا، الأمر الذي يتطلب بيئة عرض رسومية. ومع ذلك، غالبًا ما تفتقر بيئات الخادم إلى هذه الإمكانية.
لمعالجة هذه المشكلة، يمكنك توجيه Matplotlib لاستخدام واجهة خلفية غير تفاعلية بدلاً من ذلك. أدخل الكود التالي في بداية البرنامج النصي الخاص بك، قبل استيراد pyplot:
import matplotlib
matplotlib.use('Agg')
بدلاً من ذلك، يمكنك إضافة السطر التالي إلى ملف .config/matplotlib/matplotlibrc:
backend: Agg
سيؤدي هذا إلى التكوين يستخدم Matplotlib الواجهة الخلفية Agg، والتي لا تتطلب عرضًا رسوميًا.
هناك خيار آخر وهو الاستخدام ssh مع إعادة توجيه X11:
ssh -X remoteMachine
يسمح لك هذا الأمر بالوصول إلى تطبيقات Xwindows عن بعد.
أخيرًا، يمكنك تعيين متغير بيئة DISPLAY:
export DISPLAY=mymachine.com:0.0
من خلال تحديد صالح اسم العرض، سيكون Matplotlib قادرًا على الاتصال بشاشة عرض رسومية على جهاز آخر.
لمزيد من المعلومات، راجع الأسئلة الشائعة حول Matplotlib: https://matplotlib.org/faq/howto_faq.html#matplotlib-in -خادم تطبيق الويب
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3