إنشاء إكس ويندوز بذاتها التي لا تتطلب pythonXX.dll

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

  •  22-08-2019
  •  | 
  •  

سؤال

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

وأي فكرة؟

وشكرا.

واليساندرو

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

المحلول

ويمكنك القيام بذلك في أحدث نسخة من py2exe ...
فقط إضافة شيء من هذا القبيل رمز أدناه في ملف setup.py الخاص بك (جزء رئيسي هو 'bundle_files': 1).

لتشمل حزمة TkInter الخاصة بك في تركيب واستخدام 'تشمل' مفتاح.

distutils.core.setup(
      windows=[
            {'script': 'yourmodule.py',
             'icon_resources': [(1, 'moduleicon.ico')]
            }
      ],
      zipfile=None,
      options={'py2exe':{
                         'includes': ['tkinter'],
                         'bundle_files': 1
                        }
      }
  )

نصائح أخرى

ونظرا لكيفية عمل رابط ديناميكي ويندوز 'لا يمكنك استخدام مكتبة ثابتة إذا كنت تستخدم .pyd أو. DLL وحدات بيثون. دلس تحميل في نظام التشغيل Windows لا تشترك تلقائيا الفضاء رمز مع الملف القابل للتنفيذ وذلك يتطلب DLL منفصل يحتوي على حرف بيثون.

إذا غرضك من وجود احد قابل للتنفيذ هو تخفيف تحميل / البريد الإلكتروني، وما إلى ذلك، لقد حل هذا عن طريق تجميع إخراج py2exe باستخدام <لأ href = "http://www.jrsoftware.org/isinfo.php "يختلط =" noreferrer نوفولو "> إعداد ابتكارات . وهذا هو في الواقع أفضل من وجود احد قابل للتنفيذ، لأن بدلا من تقديم ملف قابل للتنفيذ التي يمكن إلقاؤها بعض الدليل، فإن تطبيق Windows حسن تصرف توفير إلغاء التثبيت، تظهر في إضافة / إزالة البرامج، الخ ابتكارات يتعامل مع جميع هذا بالنسبة لك.

وهناك حل آخر هو إنشاء واحد إكس مع الثعبان وكل ما تبذلونه من تبعيات المثبتة داخل منه، بما في ذلك python.dll. هناك قليلا من السحر في المجمع، لكنه يعمل فقط. التفاصيل هنا:

http://code.google.com /p/pylunch/downloads/detail؟name=PyLunch-0.2.pdf

وهذه ليست أفضل طريقة للقيام بذلك، ولكن قد ينظر في استخدام قابل للتنفيذ SFX الأرشيف مع كل من .exe و ملفات .dll في الداخل، ووضع لتنفيذ ملف exe الخاص بك عندما يتم النقر عليه مرتين.

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