Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

कई पायथन मॉड्यूल को कैसे बंडल करें?

यह मानते हुए कि आप पायथन 2.6 या बाद के संस्करण का उपयोग कर रहे हैं, आप स्क्रिप्ट को एक ज़िप फ़ाइल में पैकेज कर सकते हैं, एक `__main__.py` जोड़ सकते हैं और ज़िप फ़ाइल को सीधे चला सकते हैं। उदाहरण के लिए, यदि आप सभी फ़ाइलों को `my_app.zip` नाम की फ़ाइल में ज़िप करते हैं और अपनी मुख्य स्क्रिप्ट को `__main__.py` में रखते हैं, तो आप इस ज़िप को पायथन का उपयोग करके चला सकते हैं:


$ python my_app.zip

थर्ड-पार्टी टूल: stickytape

यदि आप थर्ड-पार्टी स्क्रिप्ट का उपयोग करना चाहते हैं, तो आप `stickytape` मॉड्यूल देख सकते हैं। इसका उपयोग एक पायथन स्क्रिप्ट और उस पर निर्भर करने वाले किसी भी पायथन मॉड्यूल को सिंगल-फ़ाइल पायथन स्क्रिप्ट में बदलने के लिए किया जा सकता है। `stickytape` इंस्टॉल करने के लिए, अपना टर्मिनल खोलें और दर्ज करें:


$ pip install stickytape

यह मानते हुए कि आपके सभी स्क्रिप्ट और निर्भरताएं `scripts/sample` फ़ोल्डर में हैं, आप `stickytape` का उपयोग निम्न तरीके से कर सकते हैं:


$ stickytape scripts/sample --add-python-path . > ./sample-standalone

आप इसे फ़ाइल आर्गुमेंट देने के लिए `--output-file` पैरामीटर का भी उपयोग कर सकते हैं:


$ stickytape scripts/sample --add-python-path . --output-file ./sample-standalone

आधुनिक बंडलिंग टूल्स (2024+)

1. PyInstaller - स्टैंडअलोन एक्जीक्यूटेबल


pip install pyinstaller
pyinstaller --onefile main.py
# dist/main बनाता है

2. Shiv - पायथन जिपऐप (तेज़ स्टार्टअप)


pip install shiv
shiv -c myapp:main -o app.pyz -r requirements.txt .
./app.pyz

3. Pex - पुनरुत्पादन योग्य वातावरण


pip install pex
pex -r requirements.txt -e myapp:main -o app.pex
./app.pex

4. zipapp (मानक लाइब्रेरी, पायथन 3.5+)


# संरचना:
myapp/
├── __main__.py
├── module1.py
└── module2.py

python -m zipapp myapp -m "myapp:main" -o myapp.pyz
python myapp.pyz

5. cx_Freeze - क्रॉस-प्लेटफॉर्म फ्रीजर


pip install cx_Freeze
# setup.py बनाएं
python setup.py build

6. Nuitka - पायथन कंपाइलर (C में संकलित)


pip install nuitka
python -m nuitka --standalone main.py

तुलना

टूलआउटपुटगतिC एक्सटेंशनप्लेटफॉर्म
PyInstallerबाइनरीमध्यमहांक्रॉस
Shiv.pyzतेज़हां*पायथन आवश्यक
Pex.pexतेज़हां*पायथन आवश्यक
zipapp.pyzतेज़नहींपायथन आवश्यक
Nuitkaबाइनरीसबसे तेज़हांक्रॉस
cx_Freezeबाइनरीमध्यमहांक्रॉस

सिफारिश

  • सरल प्योर-पायथन ऐप्स: `zipapp` (कोई निर्भरता नहीं)
  • निर्भरता वाले ऐप्स: `Shiv` या `Pex`
  • स्टैंडअलोन बाइनरी (कोई पायथन आवश्यक नहीं): `PyInstaller` या `Nuitka`
  • अधिकतम प्रदर्शन: `Nuitka`
  1. पायथन में Bokeh का उपयोग करके एकाधिक बार प्लॉट कैसे विज़ुअलाइज़ करें? पायथन में Bokeh का उपयोग करके एकाधिक बार प्लॉट कैसे विज़ुअलाइज़ करें?

    Bokeh एक पायथन पैकेज है जो डेटा विज़ुअलाइज़ेशन में मदद करता है। यह एक ओपन सोर्स प्रोजेक्ट है। Bokeh अपने प्लॉट को HTML और JavaScript का उपयोग करके रेंडर करता है। यह इंगित करता है कि यह वेब-आधारित डैशबोर्ड के साथ काम करते समय उपयोगी है। Bokeh डेटा स्रोत को JSON फ़ाइल में परिवर्तित करता है। इस फ़ाइल

  1. पायथन में Bokeh का उपयोग करके प्लॉट पर एकाधिक आकृतियां कैसे विज़ुअलाइज़ करें? पायथन में Bokeh का उपयोग करके प्लॉट पर एकाधिक आकृतियां कैसे विज़ुअलाइज़ करें?

    Bokeh एक पायथन पैकेज है जो डेटा विज़ुअलाइज़ेशन में मदद करता है। यह एक ओपन सोर्स प्रोजेक्ट है। Bokeh अपने प्लॉट को HTML और JavaScript का उपयोग करके रेंडर करता है। यह इंगित करता है कि यह वेब-आधारित डैशबोर्ड के साथ काम करते समय उपयोगी है। Bokeh डेटा स्रोत को JSON फ़ाइल में परिवर्तित करता है। इस फ़ाइल

  1. पायथन में Matplotlib का उपयोग करके पुनरावृत्त रूप से एकाधिक प्लॉट कैसे बनाएं पायथन में Matplotlib का उपयोग करके पुनरावृत्त रूप से एकाधिक प्लॉट कैसे बनाएं

    Matplotlib डेटा विज़ुअलाइज़ेशन के लिए एक लोकप्रिय पायथन पैकेज है। डेटा को विज़ुअलाइज़ करना एक महत्वपूर्ण कदम है क्योंकि यह संख्याओं को देखे बिना और जटिल गणना किए बिना डेटा में क्या हो रहा है, यह समझने में मदद करता है। यह दर्शकों को मात्रात्मक अंतर्दृष्टि को प्रभावी ढंग से संप्रेषित करने में मदद करता