दिलचस्प पोस्ट
"पैरामीटर" बनाम "तर्क" इनपुट / आउटपुट स्ट्रीम के साथ जावा प्रक्रिया मैं कैसे पता लगा सकता हूं कि एक आइफ्रेम लोड हो रहा है या नहीं? पायथन समूह द्वारा IDictionary <TKey, TValue> में .NET 4 नहीं covariant CSS3 स्पिन एनीमेशन मैं एक पायथन प्रोग्राम से कैसे एक EXE फ़ाइल बना सकता हूँ? एक सी / सी + + कंपाइलर को समय के संकलन पर एक सरणी के आकार की आवश्यकता क्यों है? JQuery का उपयोग कर छवि स्रोत बदलना डेटाग्रिड चयनित पंक्तियाँ 'कॉलम मूल्य प्राप्त करें Android के लिए लंगड़ा एमपी 3 एन्कोडर संकलन आईओएस एप का नाम कैसे बदल सकता है? पायथन में एसएफटीपी? (स्वतंत्र मंच) कैसे PHP में एक ईमेल को मान्य है? एक एंड्रॉइड ऐप से एक से अधिक फायरबेस डेटाबेस से कैसे कनेक्ट करें

मैं setuptools को एक पैकेज कैसे स्थापित कर सकता हूं जो कि PyPI पर नहीं है?

मैंने अभी setuptools और virtualenv के साथ काम करना शुरू कर दिया है मेरे पैकेज में नवीनतम अजगर-गियरमैन की आवश्यकता है जो कि केवल GitHub से ही उपलब्ध है। अजगर-गियरमैन संस्करण जो कि पीपीआई पर है वह एक पुराना है। Github स्रोत setuptools- संगत है, अर्थात setup.py है, आदि। Setuptools को पीपीआई पर खोजने और पुराने को स्थापित करने के बजाय नए संस्करण को डाउनलोड और स्थापित करने का कोई तरीका है?

एफवाईआई, नई अजगर-गियरमैन है http://github.com/mtai/python-gearman

Solutions Collecting From Web of "मैं setuptools को एक पैकेज कैसे स्थापित कर सकता हूं जो कि PyPI पर नहीं है?"

कुंजी यह है कि easy_install कहां पैकेज डाउनलोड किया जा सकता है। इस विशेष मामले में, यह यूआरएल http://github.com/mtai/python-gearman/tarball/master पर पाया जा सकता है। हालांकि, यह लिंक स्वयं ही काम नहीं करेगा, क्योंकि easy_install केवल यूआरएल को देखकर नहीं बता सकता है कि उसे क्या मिलेगा।

इसके बजाय http://github.com/mtai/python-gearman/tarball/master#egg=gearman-2.0.0beta को बदलकर, easy_install पैकेज नाम और उसके संस्करण की पहचान करने में सक्षम होगा।

अंतिम चरण अपने पैकेज की निर्भरता_लिंक में यूआरएल जोड़ना है, जैसे:

 setup( ... dependency_links = ['http://github.com/mtai/python-gearman/tarball/master#egg=gearman-2.0.0beta'] ) 

अब, जब आपका पैकेज इंस्टॉल हो रहा है, तो easy_install पता चलता है कि उस यूआरएल से डाउनलोड करने के लिए "गियरमैन 2.0.0 बीटा" उपलब्ध है, और अगर आप "गियरमैन> = 2.0.0 बीटा" को निर्दिष्ट करते हैं, तो खुशी से इसे पीओपीआई पर ले लें। आपकी निर्भरता में ..

(सामान्यतया, इस प्रकार की चीज़ को किया जाता है, किसी के पीईपीआई पेज पर डाउनलोड करने योग्य स्रोत पर लिंक शामिल करना; इस मामले में, अगर गियरमैन पैकेज के लेखक ने ऊपर की तरह एक लिंक शामिल किया था, तो आप पहले से सेट हो चुके हैं आमतौर पर, लोग 'myproject-dev' के साथ विकास संस्करण को चिह्नित करते हैं और फिर लोग 'myproject> somever, == dev' की आवश्यकता का उपयोग करते हैं, ताकि अगर कुछ या उच्चतर का कोई पैकेज न हो, तो easy_install कोशिश करेगा रिलीज को देखें या डाउनलोड करें।)

pip का उपयोग करते समय आपको निर्दिष्ट करने की आवश्यकता होगी --process-dependency-links ध्यान दें कि निर्भरता लिंक प्रसंस्करण बहिष्कृत कर दिया गया है और भविष्य में रिलीज़ में हटा दिया जाएगा।

पीआईपी का उपयोग कर स्रोत से सीधे स्थापित करने के लिए आप pip install protocol+location[@tag][#egg=Dependency] प्रारूप का उपयोग कर सकते हैं।

Git

 pip install git+https://github.com/username/repo.git pip install git+https://github.com/username/repo.git@MyTag pip install git+https://github.com/username/repo.git@MyTag#egg=ProjectName 

अस्थिर

 pip install hg+https://hg.myproject.org/MyProject/ 

SVN

 pip install svn+svn://svn.myproject.org/svn/MyProject 

BzR

 pip install bzr+http://bzr.myproject.org/MyProject/trunk 

निम्नलिखित प्रोटोकॉल समर्थित हैं: [+git, +svn, +hg, +bzr]

संस्करण

@tag टैग आपको चेक करने के लिए विशिष्ट संस्करण / टैग निर्दिष्ट करने देता है

#egg=name आपको यह निर्दिष्ट करने देता है कि परियोजना दूसरों के लिए निर्भरता के रूप में क्या है।

ऑर्डर हमेशा @tag#egg=name होना चाहिए।

निजी रिपोजिटरीज़

आप प्रोटोकॉल को एसएसएच ( ssh:// ) बदलकर और उपयुक्त उपयोगकर्ता ( git@ ) जोड़कर निजी रिपॉजिटरी से भी इंस्टॉल कर सकते हैं:

 git+ssh://git@github.com/username/my_private_repo 

आप उपयोगकर्ता नाम / पासवर्ड के साथ निजी रिपॉजिटरी से भी इंस्टॉल कर सकते हैं

 git+https://<username>:<password>@github.com/<user>/<repo>.git 

जिथब व्यक्तिगत ओएट टोकन बनाने की क्षमता प्रदान करता है जो कि साइक्लड हो सकते हैं

 git+https://<oauth token>:x-oauth-basic@github.com/<user>/<repo>.git 

requirements.txt

requirements.txt का उपयोग परियोजना निर्भरताओं को निर्दिष्ट करने के लिए किया जाता है:

requirements.txt

 package1 package2==1.0.2 package3>=0.0.4 git+https://github.com/username/repo.git 

ये पैकेज के साथ स्वत: स्थापित नहीं हैं और आदेश pip -r requirements.txt साथ स्थापित होना चाहिए।

आवश्यकताएं फ़ाइलें शामिल करना

आवश्यकताएँ फ़ाइलें अन्य आवश्यकताएं फ़ाइलें शामिल कर सकती हैं:

आवश्यकताओं-docs.txt

 sphinx -r requirements-dev.txt 

आवश्यकताओं-dev.txt

 some-dev-tool -r requirements.txt 

requirements.txt

 package1 package2==1.0.2 package3>=0.0.4 git+https://github.com/username/repo.git 

setup.py

आवश्यकताएँ फ़ाइलें setup.py में निर्दिष्ट setup.py को निम्न कमांड के साथ स्थापित कर सकती हैं:

 -e . 

setup.py इसके बाद के संस्करण की एक ही वाक्यविन्यास का उपयोग कर रिपॉजिटरी से स्थापित कर सकता है, लेकिन इस उत्तर में उल्लिखित dependency_links मान का उपयोग कर रहा है।

संदर्भ:

https://pip.pypa.io/en/latest/user_guide.html#installing-packages https://pip.pypa.io/en/latest/reference/pip_install.html

वेनिला setuptools सीधे जीआईटी रिपॉजिटरी से डाउनलोड करने का समर्थन नहीं करते हैं लेकिन आप उस पृष्ठ से डाउनलोड स्रोत लिंक में से एक का उपयोग कर सकते हैं, जैसे:

 easy_install http://github.com/mtai/python-gearman/tarball/master