पीआईपी को पहले से डाउनलोड किए गए पैकेज को फिर से डाउनलोड करने से कैसे रोकें? मैं matplotlib के संस्थापन का परीक्षण कर रहा हूं, एक 11 एमबी पैकेज जो कई डिस्ट्रो-विशिष्ट पैकेजों पर निर्भर करता है। हर बार जब मैं pip install matplotlib
चलाता हूं, तो यह matplotlib को फिर से डाउनलोड करता है। मैं इसे कैसे रोकूं?डाउनलोड पीआईपी पैकेज कैश कैसे करें
उत्तर
आप एक विशिष्ट पर्यावरण चर PIP_DOWNLOAD_CACHE का उपयोग कर सकते हैं और इसे एक निर्देशिका में इंगित कर सकते हैं जहां आपके पैकेज संग्रहीत किए जाएंगे। अगर उन्हें दोबारा स्थापित किया जाना है, तो उन्हें इस निर्देशिका से लिया जाएगा।
पीआईपी pip --download-cache
के लिए एक अतिरिक्त विकल्प भी प्रतीत होता है जो कुछ ऐसा करना चाहिए, लेकिन मैंने इसे कभी भी कोशिश नहीं की है। आपके उदाहरण के लिए, से बचने के लिए फिर से डाउनलोड करने के लिए हर बार matplotlib
, आप क्या करेंगे निम्नलिखित:
pip install --download-cache /path/to/pip/cache matplotlib
है कि आपके सवाल का जवाब है?
आप
# download and extract package to build path
pip install --no-install matplotlib
# the build path could be found by
pip install --help|grep Unpack\ packages\ into -A 2
# then rm pip-delete-this-directory.txt inside the build path
# this prevent pip from removing package from the build directory after install
# you could check the content of the file
rm build/pip-delete-this-directory.txt
# from now on you could install matplotlib quickly
# this uses single build directory
# and can speed up compiling by caching intermediate objects.
pip install --no-download matplotlib
इसके अलावा, आप मैन्युअल रूप से पैकेज
pip install -d dir_for_packages matplotlib
डाउनलोड कर सकते हैं सकता है तो फिर अन-टार और python setup install
बाद से यह स्थापित करें।
उसी तरह w/अतिरिक्त जाँच में pip install --download-cache
काम करता है: यह सबसे पहले, वेब से लक्ष्य पैकेज के नवीनतम या निर्दिष्ट संस्करण के लिए खोज करता है, तो खोज परिणाम है और वहाँ निर्देशिका download-cache
, द्वारा निर्दिष्ट पैकेज कैश किया गया है डाउनलोड करने के बजाय कैश किए गए पैकेज का उपयोग किया जाएगा। नई पिप संस्करणों के लिए
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz.content-type
: उदाहरण के लिए,
pip install --download-cache . pymongo
pymongo पैकेज वर्तमान निर्देशिका पर डाउनलोड हो जाएगा अब डिफ़ॉल्ट रूप से
नई पिप संस्करणों कैश डाउनलोड।
https://pip.pypa.io/en/stable/reference/pip_install/#caching
वर्ष पिप संस्करणों के लिए:
~/.pip/pip.conf
नाम के एक विन्यास फाइल बनाएँ, और निम्न सामग्री जोड़ें:
printf '[global]\ndownload_cache = ~/.cache/pip\n' >> ~/.pip/pip.conf
:
[global]
download_cache = ~/.cache/pip
एक आदेश में इस दस्तावेज़ देखें
के साथ बंद किया जा सकता है कूल, आसान और पैरामीटर जोड़ने को याद रखने की आवश्यकता नहीं है हर बार। मैंने जीबी की फिर से डाउनलोड करने वाली गंदगी का बहुत कम बर्बाद कर दिया। धन्यवाद। – erm3nda
धन्यवाद, यदि आप आवश्यकताओं को डाउनलोड करने के लिए पीपी 3 का उपयोग करते हैं और पीले रंग की चेतावनी प्राप्त करते हैं, तो आप mkdir ~/.cache/pip कर सकते हैं तो चेतावनी दूर हो जाएगी। –
मुझे यकीन नहीं है कि पीआईपी यह भी करता है, लेकिन ' easy_install' अगर आपके पास स्थानीय निर्देशिका में '.tar' (या संभवतः ज़िप?) फ़ाइल के रूप में पैकेज है, तो वह पहले उस का उपयोग करने का प्रयास करेगा। –
[पीपी-एक्सेल] (https://pypi.python.org/pypi/pip-accel) पर भी देखें। यह इस समस्या का एक नया और बेहतर समाधान है। – qris
पाइप 8 '--download-cache' के रूप में गिरा दिया गया था, पीपी को डिफ़ॉल्ट रूप से कैश का उपयोग करना चाहिए जिसे '--no-cache-dir' – Ski