पाइप के साथ संपादन योग्य पैकेजों की स्थापना रद्द कैसे करें (-e के साथ स्थापित)


107

मैंने -e के साथ कुछ पैकेज स्थापित किए हैं

> pip install -e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev

मैं पाइप फ्रीज के साथ देखता हूं

> pip freeze
...
-e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev
...

जब मैं उन पैकेजों को अनइंस्टॉल करने की कोशिश करता हूं जिनमें मुझे त्रुटियां मिलती हैं:

> pip uninstall horus-dev
Cannot uninstall requirement horus-dev, not installed

> pip uninstall horus
Cannot uninstall requirement horus, not installed

मैं ऐसे पैकेज की स्थापना कैसे रद्द करूं?


पिप अनइंस्टॉल करें <पैकेज> पाइप के हाल के संस्करणों में संपादन योग्य मोड में स्थापित किए गए पैकेज (मेरा 19.1.1 है)। Setup.py में संकुल नाम का उपयोग करना सुनिश्चित करें, न कि आपके द्वारा निर्दिष्ट पैकेज को entry_points में निर्दिष्ट करने के लिए
picmate 19

कॉन्डा का उपयोग करने वाले लोगों के लिए, कॉन्डा डू में देव मोड में स्थापना रद्द करने के लिए:conda develop -u .
चार्ली पार्कर

क्या आपने यह पता लगाया कि pip uninstall yourpackageकाम क्यों नहीं किया? जैसे आपकी त्रुटियों का क्या अर्थ है? कमांड से अजीब आउटपुट लगता है ...
चार्ली पार्कर

क्या आपने कोशिश की pip uninstall -e .या python setup.py develop -u?
चार्ली पार्कर

2
मेरे लिए pip uninstall libraryबस ठीक काम किया। यदि आप ओपी को जवाब देने जाते हैं तो ऐसा लगता है कि यह उनके पुस्तकालय के साथ कुछ अजीब है जो भ्रष्ट था। उम्मीद है कि यह लोगों को अगली बार यहां आने से बचाता है। हालांकि, कई अलग-अलग विकल्प हैं जो काम कर सकते हैं।
चार्ली पार्कर

जवाबों:


90

At {virtualenv}/lib/python2.7/site-packages/(अगर virtualenv का उपयोग नहीं कर रहे हैं तो {system_dir}/lib/python2.7/dist-packages/)

  • distribute-0.6.34-py2.7.eggयदि कोई है तो अंडे की फाइल (जैसे ) निकालें
  • फ़ाइल से easy-install.pth, संबंधित पंक्ति को हटा दें (यह स्रोत निर्देशिका या अंडे फ़ाइल का पथ होना चाहिए)।

43
आश्चर्य की बात है कि इसके लिए कोई समान स्थापना रद्द करने का तरीका नहीं है।
ड्रेक गुआन


4
वर्तमान पाइप संस्करण के साथ अनइंस्टॉल -eविकल्प के साथ स्थापित संकुल के लिए भी ठीक काम कर रहा है ।
प्रसिद्धगैरिन

9
मेरे लिए 8.1.2 का उपयोग pip uninstall package_nameकरता है , काम करता है, लेकिन pip uninstall .काम नहीं करता है
उलझन में '

5
संपादन योग्य स्थापित पैकेजों को हटाने की क्षमता के लिए यहां पाइप के खिलाफ एक खुला मुद्दा है।
क्रिस हंट

22

Setup_tools के नए संस्करण के साथ ऐसा करने का एक आसान तरीका निम्नलिखित है:

python setup.py develop -u

जो मूल रूप से वैसा ही करता है जैसा @glarrain अपने उत्तर में बताता है।


2
क्या उस कमांड में कोई आउटपुट होना चाहिए? मुझे लगता है यह कहते हैं, running developलेकिन मैं अभी भी .egg-infoफ़ाइल ... इसे हटाने के लिए लगता है?
पिनोच्चियो

"Answer_tools का नया संस्करण" क्या है जिसमें यह उत्तर कार्य है? क्या आप इसकी पुष्टि कर सकते हैं?
चार्ली पार्कर

क्या आपका जवाब गारंटी देता है कि किसी को मैन्युअल रूप से thins को हटाने की आवश्यकता नहीं है?
चार्ली पार्कर

यह कोई आउटपुट नहीं देता है। मेरी समझ के अनुसार इसे हटा देना चाहिए: "--uninstall; -u वर्तमान प्रोजेक्ट को अन-परिनियोजित करें। आप स्टेजिंग क्षेत्र को नामित करने के लिए - इंस्टॉलेशन-डीआईआर या -d विकल्प का उपयोग कर सकते हैं। बनाई गई .egg- लिंक फ़ाइल। हटा दिया जाए, अगर मौजूद है और यह अभी भी प्रोजेक्ट डायरेक्टरी की ओर इशारा कर रहा है। " से setuptools डॉक्स । इसे चलाने के बाद क्या यह अभी भी विकास निर्देशिका से सामग्री को लोड करता है?
अहमद शरीफ

@CharlieParker मुझे यकीन नहीं है कि यह किस संस्करण में पेश किया गया था। मुझे इन फ़ाइलों को मैन्युअल रूप से हटाने की आवश्यकता नहीं है।
अहमद शरीफ

10

एक देव पैकेज उपयोग cmd स्थापित करें:

pip install --editable .

स्थापना रद्द करें:

rm -r $(find . -name '*.egg-info')

अब आप उपयोग कर सकते हैं:

pip uninstall package_name 

या python setup.py develop --uninstallयाpython setup.py develop -u


4
क्या आप निर्दिष्ट कर सकते हैं कि आप कृपया उस दूसरी कमांड को कहां से चला रहे हैं?
एथनब्रोक्स

1
@ethanabrooks .वर्तमान निर्देशिका है, आप पैकेज के पूर्ण निरपेक्ष पथ का उपयोग करते हैं।
लेगोलस ब्लूम

1
अधूरा। सभी पायथन पैकेज के बारे में क्या? ( site-packagesdir)
जॉर्ज ऑरपिनल

यह पूरी तरह से स्थापित पूर्ववत नहीं करता है। यह उस फ़ोल्डर से सामान को हटा देता है जिसे पैकेज से स्थापित किया गया था, लेकिन आपकी dist-packagesनिर्देशिका में सीलिंक को नहीं हटाता है (जहां पायथन स्थापित पैकेज के लिए दिखता है)। उपयोग करने के लिए क्लीनर python setup.py develop -u
मार्क अमेरी

@ मार्की थैंक्स, pip uninstall package_nameअभी काम करो।
लेगोलस ब्लूम

6

यह ओएस-स्थापित पाइप (मेरे लिए v8.1.1) का उपयोग करते हुए डेबियन / ubuntu लाइनक्स पर एक बग है, जो कि आपने sudo pipपाइप को अपग्रेड किया है (जैसे get-pip.py) के साथ भी आप इसे लागू करेंगे । Https://github.com/pypa/pip/issues/4438 देखें

सफाई कैसे करें इस पर चर्चा के लिए /ubuntu/173323/how-do-i-detect-and-remove-python-packages-installed-via-pip देखें , हालांकि समाधान वहां हैं "सब कुछ हटा दें" विविधता।

... पाइप पैकेज [पर जाएं] /usr/local/lib/python2.7/dist-packages, और उपयुक्त पैकेज/usr/lib/python2.7/dist-packages

... कुछ पैकेज भी स्थापित किए गए थे ~/.local/lib

मेरे सिस्टम के लिए मुझे हटाने की जरूरत थी /usr/local/lib/python2.7/dist-packages/{package_name}.egg-link


मेरे लिए pip uninstall libraryबस ठीक काम किया। यदि आप ओपी को जवाब देने जाते हैं तो ऐसा लगता है कि यह उनके पुस्तकालय के साथ कुछ अजीब है जो भ्रष्ट था। उम्मीद है कि यह लोगों को अगली बार यहां आने से बचाता है। हालांकि, कई अलग-अलग विकल्प हैं जो काम कर सकते हैं
चार्ली पार्कर

5

यह पता चला है कि मेरी स्थापना किसी तरह भ्रष्ट थी।

मुझे इसमें प्रविष्टि मिल सकती है:

/usr/local/lib/python2.7/site-packages/easy-install.pth

समस्या को हल करने के लिए मैंने हाथ से .pth फ़ाइल में लाइन को हटा दिया!

import sys; sys.__plen = len(sys.path)
...
/absolute-path-to/horus  # <- I removed this line
...

1
इसका क्या मतलब है कि आपका इंस्टालेशन भ्रष्ट था?
चार्ली पार्कर

-1

केवल आपके द्वारा 'संपादन योग्य' मोड में स्थापित पैकेज की स्थापना रद्द करें:

pip uninstall yourpackage

9
ओपी ने यह कोशिश की है और अपने सवाल में ऐसा कहते हैं। जरूरी नहीं कि यह 'संपादन योग्य' के रूप में स्थापित संकुल के साथ काम करे
dusktreader

2
@dusktreader: मुझे यकीन नहीं है कि ओपी की pip uninstallकमान (शायद पाइप का पुराना संस्करण) के साथ क्या हो रहा है, लेकिन मैंने सत्यापित किया है कि सामान्य परिस्थितियों में यह वही करता है जो @glarrain द्वारा स्वीकृत उत्तर में मैन्युअल रूप से करने का सुझाव दिया गया था। यदि यह आपके लिए काम नहीं कर रहा है, तो कृपया विस्तार से बताएं कि आप यहां क्या कर रहे हैं ताकि हम आगे इस मुद्दे को खोद सकें।
एपर्टेक्स

@ ऑर्किटेक्स प्रतीक्षा कर रहे हैं कि संपादन योग्य मोड के लिए भी काम करता है?
चार्ली पार्कर

इस जवाब ने मेरे लिए काम किया। मुझे लगता है कि यह ओपी के लिए काम नहीं करता था क्योंकि यदि आप उनके उत्तर की जांच करते हैं तो उनके पास कुछ अजीब भ्रष्ट इंस्टॉलेशन था (या उनका कंप्यूटर एक अजीब स्थिति में था)। pip uninstall pkgकाम करता है
चार्ली पार्कर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.