কম্পিউটার টিউটোরিয়াল

zipapp - এক্সিকিউটেবল পাইথন জিপ আর্কাইভ পরিচালনা

zipapp মডিউল পাইথন ৩.৫以降 স্ট্যান্ডার্ড লাইব্রেরিতে যোগ করা হয়েছে। এই মডিউল পাইথন কোড সম্বলিত জিপ ফাইল তৈরি ও পরিচালনা করতে ব্যবহৃত হয়, যেগুলো পাইথন ইন্টারপ্রিটার দিয়ে সরাসরি এক্সিকিউট করা যায়। মডিউলটি কমান্ড-লাইন ইন্টারফেস ও প্রোগ্রাম্যাটিক ইন্টারফেস উভয় প্রদান করে।

প্রোগ্রাম্যাটিকভাবে zipapp ব্যবহার করতে হলে একটি মডিউল থাকতে হবে যাতে main ফাংশন রয়েছে। এক্সিকিউটেবল আর্কাইভ নিচের কমান্ড দিয়ে বিল্ড করা হয়:

python -m zipapp myapp -m "example:main"

এখানে, করেন্ট প্যাথে myapp নামে একটি ফোল্ডার থাকতে হবে। এই ফোল্ডারের ভিতরে example.py থাকতে হবে যাতে main() ফাংশন রয়েছে।

myapp ফোল্ডার তৈরি করে নিচের কোড example.py-এ সেভ করুন:

def main(): 
    print('Hello World') 
if __name__ == '__main__': 
    main()

উপরের কমান্ড কমান্ড টার্মিনাল থেকে এক্সিকিউট করলে myapp.pyz তৈরি হবে। এখন কমান্ড প্রম্পট থেকে এক্সিকিউট করা যাবে।

C:\python37>python myapp.pyz 
Hello World

কমান্ড লাইন অপশন:

-o , --output=

ডিফল্ট আউটপুট ফাইলের এক্সটেনশন .pyz এবং নাম ইনপুট সোর্সের মতো। -o অপশনে নির্দিষ্ট করলে পরিবর্তন করা যায়।

-p , --python=

ইন্টারপ্রিটার স্পষ্টভাবে রান করার কমান্ড হিসেবে 지정 করতে ব্যবহৃত হয়।

-c, --compress

ডিফ্লেট মেথড দিয়ে ফাইল কমপ্রেস করে, আউটপুট ফাইলের সাইজ কমানো হয়।

zipapp মডিউল প্রোগ্রাম্যাটিকভাবে ব্যবহার করা যায়। এটি নিচের ফাংশনগুলো ডিফাইন করে:

  • zipapp.create_archive(source): সোর্স ফোল্ডার থেকে অ্যাপ্লিকেশন আর্কাইভ তৈরি করে। অতিরিক্তভাবে interpreter, target, compressed আর্গুমেন্ট ব্যবহার করা যায়।
  • zipapp.get_interpreter(archive): আর্কাইভের শুরুতে #! লাইনে নির্দিষ্ট ইন্টারপ্রিটার রিটার্ন করে।
>>> import zipapp 
>>> zipapp.create_archive('myapp.pyz', 'myapp')
  1. পাইথনে জিপ ফাইল তৈরির পদ্ধতি

  2. পাইথনে ফোল্ডার রিকার্সিভলি জিপ করার পদ্ধতি

  3. পাইথনে ডিরেক্টরির জিপ আর্কাইভ তৈরি করার পদ্ধতি

  4. একাধিক পাইথন মডিউল বান্ডেল করা