python 2.7 - पीआईपी त्रुटि है, TypeError:__call__() वास्तव में 2 तर्क लेता है(1 दिया गया)




python-2.7 pip (7)

प्रणाली

  • केंद्र 7.2
  • पायथन 2.7.5

इंस्टॉल करें

मैं webhook स्थापित webhook

pip install webhook
### but hava error,then
yum install python-devel -y
## go on,pip doesn't workding
pip

त्रुटि

कमांड दर्ज करें पाइप। फिर

[[email protected] src]# pip
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 72, in <module>
import packaging.requirements
File "/usr/lib/python2.7/site-packages/packaging/requirements.py", line 59, in <module>
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: __call__() takes exactly 2 arguments (1 given)

तो मुझे क्या करना चाहिए?!


अन्य अनइंस्टॉल / पुनर्स्थापित / बल उत्तरों में से कोई भी मेरे लिए काम नहीं करता है, लेकिन सिस्टम पायथन 2.7.10 के साथ ओएस एक्स 10.10.5 पर, मैं ऐसा करने में सक्षम था:

pip uninstall packaging pip
easy_install pip # this installed pip 1.4.1
pip install --upgrade pip # and this upgraded to the current pip

और मैं बिना किसी समस्या के import pkg_resources करने में सक्षम था।

वास्तव में सिस्टम पायथन के साथ गड़बड़ करना बंद करना चाहिए ...


असल में, मुझे एक समस्या थी कि ओएस / सिस्टम जिसका मतलब रूट है, सूडो नहीं, पीपी 2 पैकेज का मालिक रहा है। लेकिन जब मैंने यह आदेश निष्पादित किया था:

sudo apt-get remove python-pip

इसने एक जादू की तरह काम किया।
ध्यान दें, बेशक कि मेरे पास एक डेबियन वितरण है।

और फिर मैंने पेड्रो का सुझाव दिया:

sudo pip install setuptools==33.1.1

पाइप को अपग्रेड करने के लिए निम्न आदेश का उपयोग करें, जिसमें बग तय है:

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

यह मेरे लिए काम करता है (सेंटोस 7, पायथन 2.7)।

अधिक जानकारी के लिए: GitHub


मुझे एक ताजा वर्चुअलनेव पर एक ही समस्या थी और स्पष्ट रूप से यह पैकेजिंग, पीआईपी और नए सेटअपटॉल्स के साथ पाइपर्सिंग के लिए संस्करण आवश्यकताओं के बीच एक संघर्ष है। मेरे लिए क्या काम किया गया था पुराने को पिन करना।

pip install setuptools==33.1.1

अद्यतन करें:

जैसा कि एक और जवाब ने इंगित किया है, पीआईपी ने पहले से ही बग तय कर दिया है, इसलिए आपको ऊपर दिए गए वर्कअराउंड का उपयोग करने के बजाय इसे अपग्रेड करना चाहिए।

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

मैंने फिक्स लगाया

पाइप स्थापित setuptools == 33.1.1

और यह ओएसएक्स 10.10.5 (योसामेट) के लिए समस्या हल


यह अच्छी तरह से काम करता है:

python -m pip install --upgrade --force pip 
pip install setuptools==33.1.1

प्रस्तावना: मैं इसकी अनुशंसा नहीं करता!

ऐसा लगता है, लेकिन मुझे नहीं पता कि परिणाम क्या हो सकते हैं। यह कार्गो पंथ प्रोग्रामिंग सबसे अच्छा है! मैं इसे केवल यहां जोड़ रहा हूं अगर यह किसी को बांधने में मदद कर सकता है।

मैंने फ़ाइल requirements.py परिवर्तन किए जहां त्रुटि हुई। @Hysg के लिए, यह फ़ाइल होगी:

/usr/lib/python2.7/site-packages/packaging/requirements.py

ओएस एक्स पर मुझ पर, यह यहां है:

/Library/Python/2.7/site-packages/packaging/requirements.py

मैंने नीचे दिखाए गए अनुसार MARKER_EXPR पर कॉल के लिए कोष्ठक को हटाकर अपमानजनक रेखा को संशोधित किया है:

#MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
MARKER_EXPR = originalTextFor(MARKER_EXPR)("marker")

और वह काम किया।

फिर, कृपया सावधान रहें! मुझे नहीं पता कि मैं क्या कर रहा हूं और इससे संभावित रूप से अच्छे से ज्यादा नुकसान हो सकता है।







pip