मैं अपना खुद का पैकेज बनाने की कोशिश कर रहा हूं। पैकेज बहुत आसान है, इसमें एक पायथन मॉड्यूल और एक बैश स्क्रिप्ट है। मैं दोनों को /usr/local/bin
के तहत स्थापित किया जाना चाहिए ताकि उन्हें सीधे निष्पादित किया जा सके।पाइप exec_points को execables के रूप में स्थापित नहीं कर रहा है
from setuptools import setup
setup(
name='deploy',
.
.
.
install_requires=['pyyaml', 'cot', 'jsonschema'],
entry_points={
'console_scripts': [
'cloud_config = cloud_config:main',
],
},
scripts=['deploy.sh'],
)
यहाँ pip install ...
के उत्पादन से अंश है::
यहाँ मेरी setup.py
फ़ाइल है
running install_scripts
copying build/scripts-2.7/deploy.sh -> /usr/local/lib/python2.7.10/bin
changing mode of /usr/local/lib/python2.7.10/bin/deploy.sh to 755
Installing cloud_config script to /usr/local/lib/python2.7.10/bin
इस के साथ
, मैं या तो अजगर या सीधे बैश स्क्रिप्ट आह्वान करने में सक्षम नहीं हूँ।
कोई विचार?
संपादित करें: मैं Ubuntu 16.04.1
मशीन पर चला रहा हूं। बस Ubuntu 14.04
मशीन पर एक ही पैकेज को स्थापित करने का प्रयास किया गया और व्यवहार अपेक्षित है। cloud_config.py
और deploy.sh
दोनों /usr/local/bin
पर स्थापित हो गए हैं और मैं सिस्टम पर कहीं से भी इनकार कर सकता हूं।
उबंटू भारी पैच पैच; मुझे आश्चर्य नहीं है कि उन्होंने यहां व्यवहार भी बदल दिया है। –
यह बेतुका @MartijnPieters है। एक पैकेज बनाने के बारे में कैसे जाता है जो सभी प्लेटफार्मों पर ठीक से स्थापित करता है? – ronakg
मैंने अभी आपके 'setup.py' के आधार पर एक पैकेज बनाने की कोशिश की है और उबंटू 16.04 वाग्रेंट बॉक्स को साफ करने के लिए तैनात किया गया है - सभी ठीक काम करते हैं।यदि आप अधिक जानकारी प्रदान करेंगे तो यह समस्या को पुन: पेश करने में मदद कर सकता है। शायद संस्करणों के साथ कुछ? आप सेटअप के लिए किस संस्करण का उपयोग करते हैं? लक्ष्य मशीन पर पाइप और setuptools कौन सा हैं? – Timur