هل من الممكن ترجمة بايثون محليًا (خارج كود بايت pyc)؟

StackOverflow https://stackoverflow.com/questions/205062

  •  03-07-2019
  •  | 
  •  

سؤال

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

هل كانت مفيدة؟

المحلول

  • هناك بيركس الذي يجمع python مثل المصدر إلى وحدات امتداد python
  • rpython والذي يسمح لك بتجميع لغة بايثون مع بعض القيود على الواجهات الخلفية المختلفة مثل C وLLVM و.Net وما إلى ذلك.
  • هناك ايضا تسليط الجلد الذي يترجم لغة بايثون إلى لغة C++، ولكن لا أستطيع أن أقول ما إذا كان ذلك جيدًا أم لا.
  • PyPy ينفذ مترجم JIT الذي يحاول تحسين وقت التشغيل عن طريق ترجمة أجزاء مما يتم تشغيله في وقت التشغيل إلى رمز الجهاز، إذا كتبت لمترجم PyPy الذي قد يكون مسارًا ممكنًا.
  • كتب نفس المؤلف الذي يعمل على JIT في PyPy نفسية سابقًا والذي يعمل على تحسين لغة بايثون في مترجم CPython.

نصائح أخرى

يمكنك استخدام شيء مثل py2exe لتجميع نص python الخاص بك في ملف exe، أو التجميد لثنائي Linux.

يرى: كيف يمكنني إنشاء تطبيق واجهة المستخدم الرسومية (GUI) عبر الأنظمة الأساسية وقابل للتنفيذ مباشرةً باستخدام Python؟

ولقد كان الكثير من النجاح باستخدام Cython ، الذي يقوم على أساس ويمتد بيركس:

<اقتباس فقرة>   

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

     

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

     

وهذا يجعل Cython اللغة المثالية   لتغليف للمكتبات C الخارجية،   وحدات C السريعة التي تسرع   تنفيذ التعليمات البرمجية بايثون.

واعتقد انه يمكن استخدام جايثون لتجميع الثعبان إلى جافا بايت كود، ومن ثم ترجمة ذلك مع GCJ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top