पाइप का कैश निकालना?


443

मुझे विशेष रूप से psycopg2 v2.4.1 को स्थापित करने की आवश्यकता है। मैंने गलती से:

 pip install psycopg2

के बजाय:

 pip install psycopg2==2.4.1

जो कि पुराने संस्करण के बजाय 2.4.4 स्थापित करता है।

अब जब मैंने psycopg2 को अनइंस्टॉल करने और सही वर्जन के साथ रीइनस्टॉल करने का प्रयास किया, तब भी ऐसा प्रतीत होता है कि पिप ने पहली बार डाउनलोड किए गए कैश का फिर से उपयोग किया है।

मैं अपने डाउनलोड कैश को खाली करने और कमांड में शामिल विशिष्ट संस्करण का उपयोग करने के लिए मुझे कैसे मजबूर कर सकता हूं?


4
वर्तमान सबसे अप-टू-डेट उत्तर (एक पाइप अनुचर द्वारा पोस्ट) stackoverflow.com/a/61762308/1931274 है
प्रदुषण

जवाबों:


506

यदि पाइप 6.0 या नए का उपयोग कर रहे हैं, तो --no-cache-dirविकल्प जोड़ने का प्रयास करें ।

यदि पाइप 6.0 से अधिक पुरानी पाइप का उपयोग कर रहा है, तो इसे अपग्रेड करें pip install -U pip


8
मैंने ~ / .pip में देखा लेकिन इसकी एक खाली निर्देशिका है। आपकी टिप पर --ignore- स्थापित ने चाल चली!
गेउस

7
OSX पर, मुझे पाइप संबंधित निर्देशिकाओं को हटाना पड़ा$TMPDIR
ब्रायन पी

2
अगर virtualenv का उपयोग करने के लिए आपको envs / {yourenvsname} / build / {packageinquestion} dir ...
हटाना पड़ सकता है

6
विंडोज़ में: मैंने देखा है कि पाइप कैशिंग निर्देशिका ~ \ AppData \ Local \ pip \ cache
बुध में है

2
आपको python -m pip install -U pipविंडोज पर करना होगा । (यह pip.exeअन्यथा फ़ाइल को लॉक करने के कारण अपग्रेड नहीं कर सकता है ।)
jpmc26

456

आपके सिस्टम के लिए उपयुक्त कैश निर्देशिका को साफ़ करें

लिनक्स और यूनिक्स

~/.cache/pip  # and it respects the XDG_CACHE_HOME directory.

ओएस एक्स

~/Library/Caches/pip

खिड़कियाँ

%LocalAppData%\pip\Cache

6
यह पागल है कि शीर्ष तीन उत्तर वास्तव में सवाल का जवाब नहीं देते हैं, और यह पहला ऐसा है जो करता है।
AmphotericLewisAcid

1
वर्तमान सबसे अप-टू-डेट उत्तर (एक पाइप अनुचर द्वारा पोस्ट) stackoverflow.com/a/61762308/1931274 है । अब सबसे अच्छा तरीका है pip cache purge
प्रदुषण

104

Https://pip.pypa.io/en/latest/reference/pip_install.html#caching पर प्रलेखन से :

V6.0 से शुरू होकर, पाइप ऑन-बाय-डिफ़ॉल्ट कैश प्रदान करता है जो वेब ब्राउज़र के समान कार्य करता है। जबकि कैश डिफ़ॉल्ट रूप से चालू है और डिज़ाइन सही तरीके से किया गया है, तो आप कैश को अक्षम कर सकते हैं और --no-cache-dir विकल्प का उपयोग करके हमेशा PyPI तक पहुँच सकते हैं ।


2
यह सही उत्तर है ... लिंक यह भी दिखाता है कि कहां लिनक्स, विंडोज और ओएस एक्स पर कैश
चोरी करता है।

3
और जोड़ने के लिए, यदि आप अपने कैश से "खराब" ऑब्जेक्ट को निकालना चाहते हैं, तो कैश फ़ाइल का स्थान खोजने के लिए पृष्ठ पर एक नज़र डालें, और आपत्तिजनक पैकेज को "ढूंढें"। लिनक्स ~ /। कैश / पाइप है, मैक है ~ / लाइब्रेरी / कैश / पाइप, आदि दिलचस्प है, psycopg2 भी मेरी समस्या पैकेज था, लेकिन यह इसलिए था क्योंकि मौजूदा पैकेज एक अलग पोस्टग्रैस्कल लाइब्रेरी के लिए संकलित किया गया था, जो अब मौजूद नहीं है। मेरा सर्वर।
क्रिस कॉगडन

78

पाइप इस तरह से कैश को अनदेखा करते हुए एक पैकेज स्थापित कर सकता है

pip --no-cache-dir install scipy

7
@ dafeda का जवाब 4 महीने पहले यही जानकारी प्रदान करता है
Foon


18

(यहाँ पाइप अनुरक्षक!)

पिप 6.0 (2014 में वापस आ गया!) के बाद से, pip install, pip downloadऔर pip wheelआदेशों के साथ कैश का उपयोग कर से बचने के लिए कहा जा सकता है --no-cache-dirविकल्प। (जैसे:pip install --no-cache-dir <package> )

चूंकि पाइप 10.0 (2018 में वापस!), एक pip configकमांड जोड़ा गया था, जिसका उपयोग पाइप को हमेशा कैश की अनदेखी करने के लिए कॉन्फ़िगर करने के लिए किया जा सकता है -pip config set global.cache-dir false "वैश्विक रूप से" (यानी सभी कमांड में) कैश का उपयोग नहीं करने के लिए पाइप को कॉन्फ़िगर करता है।

चूंकि पाइप 20.1 है, इसलिए पाइप में ए है pip cache पाइप के कैश की सामग्री का प्रबंधन करने के लिए कमांड है।

  • pip cache purge कैश में सभी पहिया फ़ाइलों को निकालता है।
  • pip cache remove matplotlib चुनिंदा फ़ाइलों को कैश से एक matplotlib से हटाता है।

सारांश में, पिप बहुत सारे तरीके प्रदान करता है कि कैसे यह कैश का उपयोग करता है:

  • pip install --no-cache-dir <package>: कैश का उपयोग किए बिना एक पैकेज स्थापित करें, केवल इस रन के लिए।
  • pip config set global.cache-dir false: "विश्व स्तर पर" कैश का उपयोग न करने के लिए पाइप को कॉन्फ़िगर करें (सभी आदेशों में)
  • pip cache remove matplotlib: पाइप के कैश से matplotlib से संबंधित सभी पहिया फ़ाइलों को हटा देता है।
  • pip cache purge: पाइप के कैश से सभी फ़ाइलों को साफ़ करने के लिए।

प्रश्न में उल्लिखित "कैशिंग के कारण गलत संस्करण स्थापित करने" का विशिष्ट मुद्दा पाइप 1.4 (2013 में वापस!) में तय किया गया था:!

सफाई से संबंधित कई समस्याओं को ठीक करें और बिल्ड निर्देशिकाओं का पुन: उपयोग न करें। (# 413, # 709, # 634, # 602, # 939, # 865, # 948)


10

यदि आप --no-cache-dirविकल्प को डिफ़ॉल्ट रूप से सेट करना पसंद करते हैं , तो आप इसे इसमें डाल सकते हैं pip.conf:

[global]
no-cache-dir = false

pip.confआपके OS पर निर्भर होने का स्थान । अधिक जानकारी के लिए दस्तावेज़ देखें ।


9

मुझे बस इसी तरह की समस्या थी और पाया गया कि पैकेज को अपग्रेड करने के लिए पाइप को प्राप्त करने का एकमात्र तरीका $PWD/build( %CD%\buildविंडोज पर) निर्देशिका को हटाना था जो पहले अधूरे इंस्टॉल या पाइप के पिछले संस्करण से छोड़ दिया गया हो (यह अब डिलीट हो गया है) एक सफल स्थापना के बाद निर्देशिकाओं का निर्माण)।


6

आर्कलिनक्स पर पाइप कैश ~ / .cache / पाइप पर स्थित है, मैं इसके अंदर http फ़ोल्डर को हटाकर अपनी समस्या को हल कर सकता हूं।


6

मेरे मैक पर मुझे कैश डायरेक्टरी को हटाना पड़ा ~/Library/Caches/pip/


5

चूंकि पाइप 20.1b1 , जो 21 अप्रैल 2020 को जारी किया गया था और " pip cacheपाइप के व्हील कैश का निरीक्षण / प्रबंधन के लिए कमांड जोड़ा गया ", यह कमांड जारी करना संभव है:

pip cache purge

संदर्भ गाइड यहां है:
https://pip.pypa.io/en/stable/reference/pip_cache/
संबंधित पुल अनुरोध यहां है




3

मुझे विंडोज 7 पर% TEMP% \ pip-build हटाना पड़ा


1
धन्यवाद + 1। मैं भी विंडोज 7 का उपयोग कर रहा हूं और मेरे% TEMP% \ pip फ़ोल्डर के तहत फ़ोल्डर मिला। आपके पर्यावरण चर में% TEMP% परिभाषित किया गया है यदि कोई अनिश्चित है।
साइमन


0

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

उदाहरण के लिए, जब आप इसे स्थापित करते हैं, तो यह कहेगा कि यह कैश्ड व्हील का उपयोग करता है,

Processing <some_prefix>/Library/Caches/pip/wheels/d0/c4/e4/e49fd07bca8dda00dd6b4bbc606aa05a25aacb00d45747a47a/horovod-0.19.3-cp37-cp37m-macosx_10_9_x86_64.wh

बस उस एक को हटा दें और अपने इंस्टॉल को पुनरारंभ करें।


-2

(...) ऐसा प्रतीत होता है कि पाइप कैश का फिर से उपयोग कर रहा है (...)

मुझे पूरा यकीन है कि ऐसा नहीं हो रहा है। पिप का उपयोग (गलत तरीके से) किया गया निर्माण निर्देशिका का पुन: उपयोग करें कैश नहीं। यह पाइप के संस्करण 1.4 में तय किया गया था जो 2013-07-23 को जारी किया गया था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.