2016-07-12 13 views
10

मुझे पता है कि पहियों एक मॉड्यूल PyPI पर अपलोड की बाइनरी संस्करण हैं।अजगर पहियों (कैसे? और क्यों?)

pip install

  • विंडोज़ पर साथ

    : मैं डाउनलोड और स्थापित पहियों मिलता है।

  • उबंटू पर: मुझे पैकेज के स्रोत वितरण परsome cases में मुझे पहियों मिलनी चाहिए।
  • फेडोरा पर: ट्रिकी मैं मैं भीmy package को पहियों जोड़ने की कोशिश की DNF

साथ स्थापित किया है। लेकिन मैं केवल खिड़कियों के लिए पहियों को अपलोड करने में सक्षम हूं।

  • कुछ पैकेज लिनक्स प्लेटफॉर्म के लिए पहियों क्यों प्रदान करते हैं?
  • क्या यह ठीक है? स्रोत के बजाय बाइनरी प्रदान करना?
  • मैं क्यों पहियों प्रदान नहीं कर सकते?

नोट: मैं फेडोरा आरपीएम संकुल के बारे में थोड़ा पता है। अब मुझे उबंटू पर पहियों में दिलचस्पी है।

उत्तर

8

क्यों कुछ संकुल लिनक्स मंच के लिए पहियों प्रदान करते हैं?

वे तब तक क्यों नहीं रहेंगे जब तक कि स्रोत वितरण भी उपलब्ध न हो? :)

आपका प्रश्न स्पष्ट नहीं है। यदि आपका मतलब

कुछ पैकेज प्लेटफ़ॉर्म-स्वतंत्र वाले लोगों के बजाय लिनक्स प्लेटफ़ॉर्म के लिए प्लेटफॉर्म-विशिष्ट पहियों को क्यों प्रदान करते हैं?

तो this question और उसके जवाब पर एक नज़र डालें। यदि नहीं, तो कृपया अपने प्रश्न को स्पष्ट करें।


उबंटू पर: मैं पैकेज का स्रोत वितरण मिलना चाहिए लेकिन some cases में मैं पहियों मिलता है।

उपयोग करके देखें:

pip install --no-binary :all: somepackage 

अगर यह PyPI पर मौजूद है यह pip डाउनलोड एक स्रोत वितरण करना चाहिए। मैं क्यों PyPI पर PyQt5 के लिए कोई स्रोत संकुल रहे हैं पता नहीं है, शायद इसलिए क्योंकि वे pip साथ स्थापित करने योग्य नहीं हैं और संकलन के लिए एक पूरी toolchaing की जरूरत है।


यह ठीक है? स्रोत के बजाय बाइनरी प्रदान करना?

यह ठीक है जब तक आप दोनों बाइनरी और स्रोत प्रदान करते हैं। मेरा सुझाव है कि आप ऐसा कर रहे हैं।


मैं क्यों पहियों प्रदान नहीं कर सकते?

python setup.py bdist_wheel आज़माएं। इसे काम करने के लिए आपको wheel पैकेज (PyPI पर) स्थापित करने की आवश्यकता है। यदि आपका पैकेज पाइथन 2 और 3 दोनों का समर्थन करता है और इसमें कोई सी एक्सटेंशन नहीं है, तो "universal wheel" बनाने के लिए --universal विकल्प जोड़ें।

sdist साथ bdist_wheel बदलें एक स्रोत वितरण बनाने के लिए। यह dist निर्देशिका में एक संग्रह बनाएगा।

sdist वर्तमान मंच के लिए डिफ़ॉल्ट प्रारूप के संग्रह बनाता है। डिफ़ॉल्ट प्रारूप यूनिक्स पर एक gzip'ed tar फ़ाइल (.tar.gz) है, और विंडोज़ पर ज़िप फ़ाइल है।

आप --formats विकल्प का उपयोग कर, उदाहरण के लिए आप के रूप में कई प्रारूपों निर्दिष्ट कर सकते हैं:

python setup.py sdist --formats=gztar,zip 

एक Gzipped टारबॉल और एक ज़िप फ़ाइल

(https://docs.python.org/3/distutils/sourcedist.html से उद्धरण) बनाने के लिए

पैकेजिंग और पहियों के बारे में

अधिक जानकारी यहाँ उपलब्ध है: https://packaging.python.org/distributing/#packaging-your-project

+0

जब मैं मैं कोई त्रुटि मिलती है लिनक्स पर पहियों अपलोड करने की कोशिश, मैं इसे यहाँ जैसे ही मैंने यह कर सकते हैं पेस्ट होगा। (आज) –

+2

https://packaging.python.org/current/#id8 "PyPI वर्तमान में केवल Windows और मैक ओएस एक्स पहियों को अपलोड करने की अनुमति देता है, और वे python.org से डाउनलोड के लिए उपलब्ध कराई गई द्विआधारी संस्थापक के साथ संगत होना चाहिए। संवर्द्धन होगा लिनक्स पहियों की अनुमति देने से पहले पहिया संगतता टैगिंग योजना में होना होगा। " –

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