কীভাবে পাইথন স্ক্রিপ্টটি বাইনারি এক্সিকিউটেবলের মধ্যে সংকলন করা যায়


118

আমাকে পাইথন স্ক্রিপ্টটি উইন্ডোজ এক্সিকিউটেবলে রূপান্তর করতে হবে।

আমি পাইথন 2.6 ইনস্টল করা আছে python26

আমি একটি স্ক্রিপ্ট তৈরি করেছি এবং এটি রেখেছি C:\pythonscript। এই ফোল্ডারের ভিতরে দুটি ফাইল রয়েছে

Setup.pyএবং oldlogs.py(এই ফাইলটি আবরণ প্রয়োজন)

setup.py কোড হয়

from distutils.core import setup
import py2exe

setup(console=['oldlogs.py'])

আমি কীভাবে ওল্ডলগস.পি কে কোনও এক্সাই ফাইলে রূপান্তর করতে পারি?



সম্পূর্ণতার জন্য, সিএক্স_ফ্রিজে হ'ল আর একটি সরঞ্জাম যা আপনি এটির জন্য ব্যবহার করতে পারেন (পাইআইন্সটলার এবং পাইপেক্স সহ, যা অন্যান্য উত্তর ইতিমধ্যে উল্লেখ করেছে)।
থমাস কে

উত্তর:


63

বা ব্যবহার PyInstaller বিকল্প হিসেবে py2exe । এখানে একটি ভাল সূচনা পয়েন্ট । পাইআইনস্টলার আপনাকে লিনাক্স এবং ম্যাকের জন্য এক্সিকিউটেবলগুলি তৈরি করতে দেয় ...

এখানে সমস্যা সমাধানের জন্য কেউ সহজেই পাইআইনস্টলার ব্যবহার করতে পারে তা এখানে:

pyinstaller oldlogs.py

সরঞ্জামটির ডকুমেন্টেশন থেকে:

পাইআইনস্টলার মাইক্রিপ্ট.পি এবং বিশ্লেষণ করে:

  • স্ক্রিপ্ট হিসাবে একই ফোল্ডারে myscript.spec লেখেন।
  • স্ক্রিপ্টের মতো একই ফোল্ডারে কোনও ফোল্ডার বিল্ড তৈরি করে যদি এটি না থাকে।
  • বিল্ড ফোল্ডারে কিছু লগ ফাইল এবং কার্যকারী ফাইলগুলি লিখে।
  • স্ক্রিপ্টের মতো একই ফোল্ডারে দূরে কোনও ফোল্ডার তৈরি করে যদি এটি না থাকে।
  • ডিস্ট ফোল্ডারে মাইক্রিপ্ট এক্সিকিউটেবল ফোল্ডার লিখেছেন।

ডিস্ট ফোল্ডারে আপনি যে বান্ডিল অ্যাপটি ব্যবহার করেন তা আপনার ব্যবহারকারীদের কাছে বিতরণ করেন।


9
সিএক্স_ফ্রিজে ভাল, এটি অজগর 3.3 সমর্থন করে।
অশ্বিনী চৌধুরী চৌধুরী

আরে, এটি এমনকি ওয়াইন দিয়েও কাজ করে , পাইথনের কমপক্ষে ৩.৪ সংস্করণ পর্যন্ত, যা উইন্ডোজ এক্সপি সমর্থন করে। সত্যিই চমৎকার! আমি আমার ফেডোরা লিনাক্স মেশিনে ওয়াইন , পাইথন ৩.৪ এবং পাইপ -উইন (কেবল পাইস্টলারের ওয়েবসাইটে ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন) দিয়ে কার্যকর উইন্ডোজ তৈরি করেছি।
এরিক

3
@ অশ্বিনীচৌধুরী, উভয়ই ক্রস প্ল্যাটফর্ম বলে মনে হচ্ছে .. তবে, আমি যদি দ্রুত বিচারের ভিত্তিতে কোনটি কেবল GitHubতারার ভিত্তিতে ব্যবহার করতে পারি , PyInstallerতার 4000 ডলার থাকে, cx_Freeze200 তারা থাকে তা যদি আমি দ্রুত বিচার করতে পারি । সুতরাং PyInstallerএটি আরও জনপ্রিয় বলে মনে হচ্ছে এবং সম্ভবত আরও প্রান্তের কভারগুলি রয়েছে। কেন আপনি cx_Freezeতার চেয়ে ভাল মনে করেন PyInstaller?
alpha_989

নোট করুন যে পাইআইনস্টলারের তুলনায়, "সিএক্স_ফ্রিজে একটি একক ফাইল এক্সেটিং সমর্থন করে না, যেখানে আপনার অ্যাপ্লিকেশনটির জন্য সমস্ত লাইব্রেরি একটি এক্সিকিউটেবল ফাইলে এম্বেড করা আছে।" cx-freeze.readthedocs.io/en/latest/…
টেলর

12

আমি পাইআইনস্টলারের প্রস্তাব দিচ্ছি , একটি সাধারণ পাইথন লিপি নিম্নলিখিত কমান্ডগুলির সাহায্যে একটি এক্সে রূপান্তর করা যেতে পারে:

utils/Makespec.py [--onefile] oldlogs.py

যা একটি yourprogram.spec ফাইল তৈরি করে যা চূড়ান্ত উদাহরণটি তৈরির জন্য একটি কনফিগারেশন। পরবর্তী কমান্ড কনফিগারেশন ফাইল থেকে এক্স তৈরি করে:

utils/Build.py oldlogs.spec

আরও পাওয়া যাবে এখানে


1
# -*- mode: python -*-

block_cipher = None

a = Analysis(['SCRIPT.py'],
             pathex=[
                 'folder path',
                 'C:\\Windows\\WinSxS\\x86_microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_50c6cb8431e7428f',
                 'C:\\Windows\\WinSxS\\x86_microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_c4f50889467f081d'
             ],
             binaries=[(''C:\\Users\\chromedriver.exe'')],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='NAME OF YOUR EXE',
          debug=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True )
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.