2012-07-12 18 views
17

क्या कोई पाइथन मॉड्यूल नामों के पीछे तर्क को जानता है जो कि आसान_install में उपयोग किए गए वास्तविक पैकेज का नाम बनाम है?पायथन पैकेज के नाम को देखते हुए, आयात करने के लिए मॉड्यूल का नाम क्या है?

कुछ (अन्य लोगों के) उदाहरण है कि मेरे पास एक सा unlogical लगते हैं:

  • हम easy_install mysql-python करते हैं, लेकिन आयात वास्तव में import MySQLdb
  • हम easy_install python-memcached करते हैं, लेकिन आयात तथ्य import memcache में है (पिछला डी के बिना)

मुझे समकक्ष खोजने का एक सतत तरीका नहीं मिला। कुछ मॉड्यूल के लिए, मुझे इसे खोजने के लिए बहुत सारी ब्राउज़िंग मिली। मैं क्या गलत कर रहा हूं?

+3

यह पैकेज मेंटेनर पैकेज और इसके अंदर मॉड्यूल नाम के लिए कैसे पर निर्भर है। –

+10

मैं फिर से खोलने के लिए मतदान कर रहा हूं। सिर्फ इसलिए कि कोई अच्छा जवाब नहीं है इसका मतलब यह नहीं है कि यह एक अच्छा सवाल नहीं था, और मुझे इसे हाउसकीपिंग के उपयुक्त में हटाने से नफरत होगी। –

उत्तर

13

अफसोस की बात है, पागलपन के लिए कोई विधि नहीं है। package index में नाम मॉड्यूल नाम से import से स्वतंत्र है। विनाशकारी some packages share module names। यदि आप दोनों स्थापित करते हैं, तो आपका आवेदन भी बाधाओं के साथ टूट जाएगा। (Ruby has this problem too)


पायथन में पैकेजिंग आम तौर पर सख्त है। मूल कारण यह है कि पैकेज प्रबंधक के बिना भाषा जहाजों। रुबी और नोडजेस पूर्ण-विशेषीकृत पैकेज मैनेजर जेम और एनपीएम के साथ जहाज करते हैं, और गिटहब के आसपास केंद्रित समुदायों को साझा करने के लिए पोषित किया है। एनपीएम publishing packages उन्हें स्थापित करने के रूप में आसान बनाता है। नोडज 200 9 पहुंचे और पहले से ही 14k packages है। आदरणीय पायथन पैकेज सूचकांक 24k सूचीबद्ध करता है। रूबी रत्न 44k पैकेज सूचीबद्ध करता है।

सौभाग्य से, पाइथन के लिए एक सभ्य पैकेज प्रबंधक है, जिसे Pip कहा जाता है। पिप रूबी के जेम से प्रेरित है, लेकिन इसमें कुछ महत्वपूर्ण विशेषताएं हैं (उदाहरण के लिए लिस्टिंग पैकेज, और upgrading en mass)। विडंबना यह है कि, पिप स्वयं complicated to install है। लोकप्रिय 64-बिट विंडोज़ पर स्थापना स्रोत से दो पैकेजों को बनाने और स्थापित करने की मांग करती है। प्रोग्रामिंग के लिए नए किसी के लिए यह एक बड़ा सवाल है।

पायथन के देव इस निराशा से अनजान हैं क्योंकि वे अनुभवी प्रोग्रामर स्रोत से आरामदायक इमारत कर रहे हैं, और वे पैक किए गए पायथन मॉड्यूल के साथ लिनक्स वितरण का उपयोग करते हैं।

पैकेज प्रबंधक के साथ पाइथन जहाजों तक, हजारों डेवलपर्स पहिया को फिर से शुरू करने में समय बर्बाद कर देंगे।


पायथन 3 पैकेजिंग के साथ कई समस्याएं हल करता है। वहां aren't any packages for Python 3

+1

मुझे यकीन है कि यह जवाब आंशिक रूप से जीभ-इन-गाल है। मैं अपने आप को इस हिस्से के बारे में बता रहा हूं * गंभीर नहीं हो सकता, लेकिन अन्य हिस्सों पर स्पॉट हैं ... – delnan

+0

Win64 पर पाइप स्थापित करना वास्तव में बुरा है? मैं आमतौर पर setuptools इंस्टॉलर डाउनलोड करता हूं फिर 'easy_install pip' चलाता हूं। हालांकि मैं 32 बिट पायथन का उपयोग कर रहा हूं, इसलिए शायद यही अंतर है। – obmarg

+0

यह सही है। 64 बिट पायथन के लिए कोई [setuptools] (http://pypi.python.org/pypi/setuptools/) इंस्टॉलर नहीं है। "वर्तमान में, प्रदान की गई।एक्सई इंस्टॉलर विंडोज़ के लिए पाइथन के 64-बिट संस्करणों का समर्थन नहीं करता है, क्योंकि डिस्ट्यूट्स इंस्टॉलर संगतता समस्या "। मैं 64 बिट पायथन स्थापित करने से मित्रों को हतोत्साहित करता हूं। –