سؤال

أنا بحاجة إلى طريقة استيراد كامل بيثون المكتبة القياسية في برنامجي.

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

هل هناك طريقة سهلة للقيام بذلك ؟

نقاط المكافأة:وأود أن تفضل أن هذا الإجراء لن استيراد حزم لقد ركبت في موقع حزم و التي لم تأتي مع بيثون.بيد أن هذه ليست حرجة.

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

المحلول

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

import re
import math
import time
# ...

ثم تدرج مع البرنامج.

لذلك كل ما أحتاجه الآن هو سهولة تنسيق قائمة من جميع وحدات/حزم في stdlib.الآن كيف يمكنني الحصول على هذا ؟

تحديث:

لدي قائمة من هذا القبيل:أنا تثبيت بيثون 2.6 على الجهاز الظاهري ، ثم ركض في الخمول:

import pkgutil
stuff = [thing[1] for thing in pkgutil.iter_modules()]
stuff.sort() # To make it easy to look through
print(stuff)

ثم نسخ لصق الإخراج إلى IDE ، وقدم السيناريو قليلا إلى الكتابة:

if False:
    import re
    import email
    import time
    # ...

في بيثون وحدة وأنا استيراد في البرنامج.

يعمل!py2exe حزم كامل stdlib.

تحديث:

أنا خلقت مجموعة أن يفعل هذا.أود تحميله هنا ولكن منذ أنا لا أرى أي زر التحميل, يمكنك الحصول عليه خارج بلدي مجلد المشروع:

http://github.com/cool-RR/PythonTurtle/tree/master

إنه في المجلد src, حزمة يسمى almostimportstdlib ومن الموثق.

نصائح أخرى

وأنا خلقت ملف مضغوط من كل معيار بيثون المكتبة ومن ثم إضافته إلى sys.path عندما بدأ البرنامج.

ويمكنك إلقاء نظرة على مصادر هنا (مشروع المهجورة )

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