पैकेज के लिए ज़िपित फ़ाइलों को डाउनलोड करने और रखने के लिए पायथन के पाइप का उपयोग कैसे करें?


105

अगर मैं pipपैकेज (और उसकी निर्भरता) डाउनलोड करने के लिए कमांड का उपयोग करना चाहता हूं , लेकिन रखिए वहाँ ऐसा करने के लिए एक तरीका है - कि डाउनलोड किया पाने ज़िप की गई फ़ाइलों के सभी (जैसे कि, Django-socialregistration.tar.gz)?

मैंने विभिन्न कमांड-लाइन विकल्पों की कोशिश की है, लेकिन यह हमेशा zipfile को अनपैक करने और हटाने के लिए लगता है - या इसे zipfile मिलता है, लेकिन केवल मूल पैकेज के लिए, निर्भरता नहीं।

जवाबों:


78

pip install --downloadपदावनत किया गया है। संस्करण 8.0.0 से शुरू करके आपको pip downloadकमांड का उपयोग करना चाहिए :

 pip download <package-name>

3
और बाद में डाउनलोड किए गए पैकेज कैसे स्थापित करें?
नॉटक्ट

2
यह सबसे अप-टू-डेट उत्तर है। धन्यवाद
KJ50

3
@knoctepip install path-to-downloaded-package
एंटोन खोदक

5
कुछ दिनों पहले कोशिश की और मुझे लगता है कि यह अभी भी डाउनलोड किए गए लोगों का उपयोग करने के बजाय इंटरनेट से deps प्राप्त करने की कोशिश की; IIRC, मैं का इस्तेमाल किया थाsudo pip install <path-to-downloaded-package> --no-index --find-links `pwd`
knocte

3
ध्यान दें कि pip downloadयह भी समर्थन करता है -r requirements.txtताकि आप उन सभी को इंटरनेट से जुड़ी मशीन से आसानी से डाउनलोड कर सकें, फिर एक ऑफ़लाइन मशीन पर कॉपी करें और स्थापित करें कि कैसे ऊपर टिप्पणीकारों ने उल्लेख किया है
हॉकिन्स

113

--download-cacheविकल्प आप क्या चाहते हैं करना चाहिए:

pip install --download-cache="/pth/to/downloaded/files" package

हालाँकि, जब मैंने इसका परीक्षण किया, तो मुख्य पैकेज ने डाउनलोड किया, सहेजा और स्थापित किया, लेकिन निर्भरताएँ उनके पूर्ण url पथ से नाम के रूप में सहेजी गईं - थोड़ा कष्टप्रद, लेकिन सभी tar.gz फाइलें थीं।

--downloadविकल्प मुख्य पैकेज और उसके निर्भरता डाउनलोड करता है और उनमें से किसी को स्थापित नहीं करता है। ( नोट कि संस्करण 1.1 से पहले--download विकल्प था नहीं निर्भरता डाउनलोड करें।)

pip install package --download="/pth/to/downloaded/files"

pipका उपयोग करके दस्तावेज़ की रूपरेखा --downloadके लिए तेजी से और स्थानीय इंस्टॉल पर


5
अच्छा, यह वास्तव में काम किया - हालांकि मैंने एक --no-installविकल्प को टैग किया था। और तुम अजीब फ़ाइल नाम के बारे में सही हो, लेकिन कम से कम फ़ाइलें हैं वहाँ
जॉन सी।

पिछली बार जब मैंने जाँच की थी, तो --downloadविकल्प निर्भरता के साथ पैकेज डाउनलोड करें ।
मोहम्मद निकम

3
-डाउनलोड-कैश को घटाया जाता है। पाइप स्थापित का उपयोग करें - डाउनलोड करें <dir> <pkg>
ostler.c

18
pip install --downloadअब पदावनत कर दिया जाएगा, और पाइप 10 से हटा दिया जाएगा। pip.pypa.io/en/latest/reference/pip_download/#overview । का उपयोग करें pip download somepackage
सोमनाथजी

17
विशेष रूप से, नया समतुल्य हैpip download -d <dir> { -r requirements.txt | <packagename> }
rrauenza

57

मैं हमेशा पैकेज डाउनलोड करने के लिए ऐसा करता हूं:

pip install --download /path/to/download/to_packagename

या

pip install --download=/path/to/packages/downloaded -r requirements.txt

और जब मैं उन सभी पुस्तकालयों को स्थापित करना चाहता हूं जिन्हें मैंने अभी डाउनलोड किया है, तो मैं यह करता हूं:

pip install --no-index --find-links="/path/to/downloaded/dependencies" packagename

या

pip install --no-index --find-links="/path/to/downloaded/packages" -r requirements.txt


अपडेट करें

इसके अलावा, सभी पैकेजों को एक सिस्टम पर स्थापित करने के लिए, आप उन सभी को निर्यात कर सकते requirement.txtहैं जिनका उपयोग उन्हें किसी अन्य सिस्टम पर इंटाल करने के लिए किया जाएगा, हम यह करते हैं:

pip freeze > requirement.txt

फिर, requirement.txtडाउनलोड के लिए ऊपर के रूप में इस्तेमाल किया जा सकता है, या उन्हें स्थापित करने के लिए ऐसा करें requirement.txt:

pip install -r requirement.txt

संदर्भ: पाइप इंस्टॉलर


6

संस्करण 7.1.2 में पाइप निम्नलिखित के साथ एक पैकेज का पहिया डाउनलोड करता है (यदि उपलब्ध हो):

pip install package -d /path/to/downloaded/file

निम्नलिखित स्रोत वितरण को डाउनलोड करता है:

pip install package -d /path/to/downloaded/file --no-binary :all:

ये निर्भरताएँ भी डाउनलोड करते हैं, अगर पाइप उनके बारे में जानते हैं (उदाहरण के लिए, यदि pip show packageउन्हें सूचीबद्ध करता है)।


अपडेट करें

द्वारा बताया गया है एंटोन Khodak , pip downloadआदेश संस्करण 8. ऊपर के उदाहरण में के बाद से पसंद किया जाता है इसका मतलब है कि /path/to/downloaded/fileविकल्प के साथ दिए जाने की जरूरत है -d, तो जगह installके साथ downloadकाम करता है।


मुझे विंडोज़ में विकसित करना है और आरएच 7 पर तैनात करना है जिसमें कोई इंटरनेट कनेक्शन नहीं है। इसलिए मैं --no- बाइनरी के साथ स्रोत पैकेज डाउनलोड करता हूं: सभी:। हालाँकि यह तब विफल हो जाता है जब django-pyodbc-azure == 2.0.4.1 एकत्रित करना क्योंकि इस पैकेज का कोई स्रोत नहीं है। क्या स्रोत को डाउनलोड करने का कोई तरीका है या यदि यह मौजूद नहीं है, तो weehl को डाउनलोड करना है?
cwhisperer

6

pip download <package1 package2 package n>निर्भरता सहित सभी पैकेजों को डाउनलोड करने के लिए उपयोग करें

pip install --no-index --find-links . <package1 package2 package n>निर्भरता सहित सभी पैकेजों को स्थापित करने के लिए उपयोग करें । यह सभी फाइलों से हो जाता है CWD। यह कुछ भी डाउनलोड नहीं करेगा


2

pip wheel एक और विकल्प है जिस पर आपको विचार करना चाहिए:

pip wheel mypackage -w .\outputdir

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

यह आसानी से आवश्यकताओं की फाइलों का समर्थन करता है:

pip wheel -r requirements.txt -w .\outputdir

--no-depsयदि आप केवल विशेष रूप से अनुरोधित पैकेज चाहते हैं तो तर्क जोड़ें :

pip wheel mypackage -w .\outputdir --no-deps


-1

अजगर पैकेज ऑफ़लाइन स्थापित करना

के लिए खिड़कियों उपयोगकर्ताओं:

किसी फ़ाइल को डाउनलोड करने के लिए अपना cmd खोलें और इसे फॉलो करें:

cd <*the file-path where you want to save it*>

pip download <*package name*>

पैकेज और निर्भरताएं वर्तमान कार्य निर्देशिका में डाउनलोड की जाएंगी।

करने के लिए स्थापितवर्तमान कार्यशील निर्देशिका से :

अपना फ़ोल्डर सेट करें जहां आपने cwd के रूप में डाउनलोड किया है, फिर इनका अनुसरण करें:

pip install <*the package name which is downloded as .whl*> --no-index --find-links <*the file locaation where the files are downloaded*>

यह उस स्थान पर निर्भरता की खोज करेगा।


यदि आप प्लेटफ़ॉर्म निर्दिष्ट नहीं करते हैं, तो यह वर्तमान OS के लिए फ़ाइलें डाउनलोड करेगा। इसलिए यह काम नहीं करेगा यदि आप डाउनलोड की गई फ़ाइलों को अन्य ओएस पर स्थापित करते हैं
प्रोमेथियस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.