2012-05-29 11 views
16

मैं जानें अजगर हार्ड मार्ग से अजगर संकुल और अभ्यास यह कहते हैं में से एक के बारे में सीख रहा हूँ:पाइथन पैकेज के बिन फ़ोल्डर में कौन सी स्क्रिप्ट्स जाएंगी?

बिन निर्देशिका में एक स्क्रिप्ट है कि आप मेरे लिए

चला सकते हैं रखो, यह अस्पष्ट लगता है। मुझे बिल्कुल यकीन नहीं है कि बिन फ़ोल्डर में किस प्रकार की स्क्रिप्ट जाएंगी। The Hitchhiker's Guide to Packaging कहते बिन में

डाल किसी भी स्क्रिप्ट आपके द्वारा लिखी गई अपने पैकेज और जो आप अपने उपयोगकर्ताओं के लिए उपयोगी होगा लगता है का उपयोग करें कि। यदि आपके पास कोई नहीं है, तो बिन निर्देशिका हटा दें।

लेकिन मैं अभी भी सोच रहा हूं कि वहां किस तरह की लिपि जाएगी। तो, मुझे पता है कि यह एक गूंगा सवाल की तरह लग सकता है, लेकिन क्या कोई मुझे एक उदाहरण दे सकता है, और क्यों कोई अपने पैकेज के बिन फ़ोल्डर में "एक स्क्रिप्ट" रखेगा?

उत्तर

1

उदाहरण के लिए Django's project creating, Scrapy's project creating, django-admin.py और scrapy बिन फ़ोल्डर में दोनों स्क्रिप्ट हैं।

आप लगभग अजगर-आधारित टूल की जांच करके और भी उदाहरण प्राप्त कर सकते हैं।

20

मुझे हाल ही में एलपीटीडब्ल्यू में एक्स 46 के माध्यम से मिला है। आप की तरह, मैं स्क्रिप्ट द्वारा उलझन में था। मामले में अन्य जवाब आप के लिए भी उन्नत था, मैं समाप्त हो गया बस एक साधारण "हैलो दुनिया" स्क्रिप्ट में डालने:

#!/usr/bin/env python 

from test3 import printstring 
printstring.printstring("test script working") 
print "test over" 

मैं उस फ़ाइल testscript3.py (* नोट, मैं बाद में है कि यह होगा सीखा नामित अधिक .py फ़ाइल नाम एक्सटेंशन बंद छोड़ने के लिए करता है, तो यह एक वास्तविक स्क्रिप्ट है कि मैं एक प्रणाली आदेश की तरह लग करने के लिए)

मेरे फ़ाइल test3.py इसलिए की तरह था चाहता था थे सुविधाजनक:

def printstring(s='you did not provide string'): 
    print s 

यहाँ कुछ नौसिखिया बातें मैंने इस प्रक्रिया को काम करने की कोशिश करते समय सीखा:

  • #! कभी-कभी प्रतीक को शेबांग कहा जाता है और सरल स्पष्टीकरण यह है कि उस पंक्ति पर कमांड स्क्रिप्ट को चलाने के लिए शैतान को पाइथन का उपयोग करने के लिए कहता है। यदि आप ".py" फ़ाइल नाम एक्सटेंशन को छोड़ देते हैं, तो स्क्रिप्ट के उपयोगकर्ता को स्क्रिप्ट चलाने के लिए दुभाषिया की आवश्यकता होने पर ध्यान देने की आवश्यकता नहीं है। wikipedia shebang article देखें।

  • मैं वितरण पैकेज के लिए निम्न आदेश भागा:

    अजगर setup.py sdist

  • कि करने के बाद, मैं

    sudo पिप चलाकर पैकेज और स्क्रिप्ट स्थापित करने में सक्षम था test3-0.1.tar.gz

  • एक चीज जिसे मैं चिंतित करता हूं, स्क्रिप्ट फ़ाइल पर अनुमति थी। हालांकि, मैंने देखा कि पैकेजिंग के दौरान आसुतों ने इसका ख्याल रखा (मोड बदलकर 755 या जो भी हो)।

आप मेरा whole project for this example on github पा सकते हैं।

+1

+1 न्यूबी सेक्शन – Deepend

+0

बहुत अच्छा है। साझा करने के लिए धन्यवाद। – MikeiLL

संबंधित मुद्दे