2013-11-20 9 views
373

से पीआईपी इंस्टॉल pip एक रेपो की विशिष्ट शाखा स्थापित करने का प्रयास कर रहा है। गूगल मुझेजीआईटी रिपो शाखा

करने के लिए कहता पिप स्थापित https://github.com/user/[email protected]

शाखा का नाम issue/34/oscar-0.6 तो मैं pip install https://github.com/tangentlabs/[email protected]/issue/34/oscar-0.6 लेकिन इसकी एक 404.

मैं इस शाखा स्थापित करूँ लौटने किया है?

उत्तर

530

प्रारंभ में लगा url उपसर्ग git+ (VCS Support देखें):

pip install git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6 

और बिना प्रमुख / शाखा नाम निर्दिष्ट करें।

+2

यह शाखा तैयार करें या द्वारा प्रतिबद्ध '@ करने के लिए' mendatory है? – eugene

+3

@ यूजीन, नहीं, '@' और उसके बाद के हिस्सों वैकल्पिक है। – falsetru

+1

अरे, अब 'पेड़' नहीं है, यह एक त्रुटि उठता है। – SalahAdDin

200

एक भंडार क्लोन करने के लिए गिट + के साथ पाइप का उपयोग करना बहुत धीमा हो सकता है (उदाहरण के लिए https://github.com/django/[email protected]/1.6.x के साथ परीक्षण करें, इसमें कुछ मिनट लगेंगे)। सबसे तेजी से बात मैंने पाया है, जो GitHub और BitBucket साथ काम करता है, यह है:

pip install https://github.com/user/repository/archive/branch.zip 

जो Django मास्टर के लिए हो जाता है:

pip install https://github.com/django/django/archive/master.zip 
Django स्थिर/1.7.x के लिए

:

pip install https://github.com/django/django/archive/stable/1.7.x.zip 

बिटबकेट के साथ यह एक ही अनुमानित पैटर्न के बारे में है:

pip install https://bitbucket.org/izi/django-admin-tools/get/default.zip 

यहां, मास्टर शाखा को आम तौर पर डिफ़ॉल्ट नाम दिया जाता है। इससे आपकी आवश्यकताओं.txt बहुत तेज इंस्टॉल हो जाएंगी।

कुछ अन्य उत्तरों में आपके requirements.txt में पैकेज को स्थापित करने के दौरान आवश्यक भिन्नताओं का उल्लेख किया गया है। ध्यान दें कि यह संग्रह वाक्य रचना के साथ, प्रमुख -e और #egg=blah-blah अनुगामी की आवश्यकता नहीं हैं, और आप बस यूआरएल पेस्ट कर सकते हैं, तो आपके requirements.txt की तरह दिखता है:,

https://github.com/user/repository/archive/branch.zip 
+14

** नोट: ** Django 1.9 से, Django एक फ़ाइल के साथ जहाजों जिसमें एक [यूनिकोड फ़ाइल नाम] है (https://github.com/django/django/commit/bd059e3f8c6311dcaf8afe5e29ef373f7f84cf26)। उस पर पाइप चोक द्वारा उपयोग किए जाने वाले ज़िप निकालने वाला। '.zip' को' .tar.gz' के साथ बदलने के लिए एक आसान कामकाज है, क्योंकि टैर एक्स्ट्रैक्टर काम करता है। – spectras

+2

मुझे आश्चर्य है कि अगर पीपी के लिए स्नैपशॉट स्थापित करने के लिए पूरे गिट इतिहास की आवश्यकता नहीं है तो पाइप '- डीपथ 0' पास कर सकता है)। https://www.git-scm.com/docs/git-clone – cs01

+1

यह प्रतिबद्ध हैश के लिए भी काम करता है! 'पाइप इंस्टॉल https: // github.com/django/django/archive/ebaa08b.zip' – Fush

32

बस एक अतिरिक्त जोड़ने के लिए है, तो आप इसे अपनी पीपी फाइल में स्थापित करना चाहते हैं, इसे इस तरह जोड़ा जा सकता है:

-e git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6#egg=django-oscar-paypal 

हालांकि यह अंडे के रूप में सहेजा जाएगा।

+2

'-e' के बिना इसका उपयोग करने के लिए बेहतर है। देखें: http://stackoverflow.com/a/34518202/451710 –

+3

टिप्पणी के लिए धन्यवाद, बहुत रोचक। मुझे लगता है कि लोग पहले से मौजूद पैकेज के साथ किसी भी संभावित संघर्ष से बचने के लिए '-e' ध्वज का उपयोग करते हैं। मुझे लगता है कि – Hassek

+3

पसंद का मामला है और यदि आप "अतिरिक्त" चाहते हैं, तो उन्हें उस टुकड़े में शामिल करें, जैसे: '-e git + https: //github.com/tangentlabs/[email protected] /34/oscar-0.6#egg=django-oscar-paypal [पीडीएफ] ' – ankostis

10

गिट प्रमाण-पत्र का उपयोग करके निजी रेपो से स्थापित करने के लिए निर्देश।

उपयोग के लिए:

$ pip install git+ssh://[email protected]/myuser/[email protected]_version 

विकास के लिए:

$ git clone [email protected]/myuser/[email protected]_version 
$ pip install --editable ./ 
संबंधित मुद्दे