क्या मैं मौजूदा संस्करण को पुनर्स्थापित करने के लिए पाइप को मजबूर कर सकता हूं?


507

मैं उन स्थितियों में आया हूँ जहाँ पैकेज का वर्तमान संस्करण काम नहीं कर रहा है और पुनर्स्थापना की आवश्यकता है। लेकिन pip install -Uपहले से अद्यतित पैकेज को स्पर्श नहीं करेंगे। मैं देख रहा हूँ कि पहली बार अनइंस्टॉल करके (के साथ) एक पुनर्स्थापना को कैसे मजबूर किया जाएpip uninstall ) और फिर स्थापित , लेकिन क्या केवल एक कदम में एक नाममात्र वर्तमान संस्करण के लिए "अपडेट" को मजबूर करने का एक तरीका है?


स्वयं को फिर से स्थापित करने की तलाश करने वालों के लिए (यदि यह किसी कारण से काम करना बंद कर देता है;), तो इसका उत्तर इस SO q & a
nsof

जवाबों:


744
pip install --upgrade --force-reinstall <package>

अपग्रेड करते समय, सभी पैकेजों को फिर से स्थापित करें भले ही वे पहले से ही अद्यतित हों।

pip install -I <package>
pip install --ignore-installed <package>

स्थापित पैकेजों को अनदेखा करें (इसके बजाय पुनः इंस्टॉल करना)।


1
किसी भी तरह से अधिलेखित करने का कोई तरीका है - जबार = ध्वज का उपयोग करते हैं? इनमें से किसी ने मेरे लिए काम नहीं किया। मुझे गंतव्य पथ पहले से ही मौजूद है।
रेडटेक

@KeeganQuinn आपको लगता है कि करण का मतलब "जब अपग्रेड" होता है ...? मुझे ऐसा लगता है। लेकिन आपका स्पष्टीकरण निश्चित रूप से मेरी मदद करता है।
लाल मटर

क्या होगा अगर मैं zipline में बदलाव करना चाहता हूं जो कि की प्रक्रिया में स्थापित है pip install pipeline-live, और बस zipline में अपना बदलाव उठाऊं?
gseattle

भी शामिल है --upgradeजब --force-reinstallइस्तेमाल किया जा रहा है पिप 10.0, FYI के रूप में की जरूरत नहीं किया जाना चाहिए: github.com/pypa/pip/issues/1139
cjerdonek

1
@mrloloom using cachedइसका मतलब है कि यह स्रोत फ़ाइलों का उपयोग करता है जहां अंतिम संस्थापन पर कैश किया गया है। --no-cache-dirझंडे के उपयोग को फिर से डाउनलोड करने के लिए मजबूर करना ।
lcnittl

180

आप सभी तीन विकल्प रखना चाहते हैं: --upgradeऔर --force-reinstallपुनर्स्थापना सुनिश्चित करता है, जबकि --no-depsनिर्भरता को पुनर्स्थापित करने से बचता है।

$ sudo pip install --upgrade --no-deps --force-reinstall <packagename>

अन्यथा आप इस समस्या में भाग सकते हैं कि पाइप Numpy या अन्य बड़े पैकेजों को फिर से शुरू करने के लिए शुरू होता है।


1
यह ऑफ़लाइन इंस्टॉल के लिए भी काम करता है, जबकि अपवादित उत्तर नहीं देता है।
orodbhen

4
यह बड़ी संख्या में निर्भरता वाले संकुल के लिए एक बेहतर समाधान है जिसे पुनः स्थापित करने की आवश्यकता नहीं है।
अस्सिल Ksiksi

1
sudoमेरे मामले में महत्वपूर्ण था।
मर्गलूम

1
--upgradeजब हम उपयोग करते हैं तो हमें क्यों आवश्यकता होती है --force-reinstall?
mrgloom

@ Finn upgraderupNielsen वर्तमान संस्करण को अपग्रेड क्यों करना चाहिए? जैसा कि मैं समझता हूं कि हम पैकेज को फिर से स्थापित करना चाहते हैं। यदि <package-name>==<package-version>प्रारूप का उपयोग किया जाता है तो क्या होगा ?
mrgloom

33

यदि आप आवश्यकताओं को निर्दिष्ट करना चाहते हैं। बिना किसी अपग्रेड के, बिना किसी आवश्यकता के।

pip install -r requirements.txt --ignore-installed

29
--force-reinstall

पाइप -1.5 के साथ python2.7 का उपयोग करके पुनः इंस्टॉल करने के लिए प्रकट नहीं होता है

मुझे इस्तेमाल करना पड़ा है

--no-deps --ignore-installed

20
आपको --upgradeइसके अलावा निर्दिष्ट करना होगा --force-reinstall, या इसका कोई प्रभाव नहीं होगा।
कीगन क्विन

6

यदि आपके पास पैकेजों के भार के साथ एक पाठ फ़ाइल है, तो आपको -r ध्वज को जोड़ना होगा

pip install --upgrade --no-deps --force-reinstall -r requirements.txt

5

मामले में आपको अपने द्वारा किए जाने वाले पाइप के पुनर्स्थापन को मजबूर करने की आवश्यकता है:

python -m pip install --upgrade --force-reinstall pip

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