python2.7 कमजोर आयात त्रुटि से टूट गया, कृपया मदद करें!


27

मैंने अभी 16.04 से 17.10 तक अपडेट किया है, और हर बार जब मैं किसी भी python2.7 कमांड को चलाने का प्रयास करता हूं, मुझे यह त्रुटि मिल रही है:

pip install --upgrade pip
Traceback (most recent call last):
File "/home/XXXX/bin/pip", line 7, in <module>
    from pip import main
  File "/home/XXXX/local/lib/python2.7/site-packages/pip/__init__.py", 
line 5, in <module>
    import logging
  File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, 
collections
  File "/home/XXXX/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref

एक अन्य उपयोगकर्ता को एक समान समस्या थी, लेकिन यह मेरे द्वारा निष्पादित किसी भी अजगर कार्यक्रम को प्रभावित करता है। मैं पाइप के माध्यम से कुछ भी स्थापित नहीं कर सकता, या किसी भी अजगर स्क्रिप्ट का उपयोग नहीं कर सकता। मुझे वास्तव में पता नहीं है कि क्या करना है, सहायता की बहुत सराहना की जाएगी।

"अजगर - उत्थान" का आउटपुट है

Python 2.7.12

हालांकि "अद्यतन अजगर" पैदा करता है:

python is already the newest version (2.7.14-2ubuntu1).

मैंने 17.04 से 17.10 तक अपडेट किया और उसी का सामना कर रहा था ImportError: cannot import name _remove_dead_weakref। मेरा पायथन 2.7.14 है
सेसाबा तोथ

मेरे मामले में मैं आभासी वातावरण का उपयोग कर रहा हूं और मुझे संदेह है कि उन आभासी वातावरण के अंदर अजगर अब सिस्टम संस्करण के साथ सिंक से बाहर हो गया है ताकि यह त्रुटि हो। मुझे लगता है कि जमीन से आभासी वातावरण के पुनर्निर्माण मेरी समस्या का समाधान हो सकता है, हालांकि यह सभी संकुल :( स्थापित करने के लिए संघर्ष था
कसाबा टोथ

जवाबों:


26

यह एक उबंटू समाधान नहीं है, लेकिन क्योंकि यह प्रश्न त्रुटि के लिए खोज परिणामों में उच्च दिखाई देता है, मैं कहना चाहता था कि मुझे OSX पर यह त्रुटि मिली थी क्योंकि मेरा डिफ़ॉल्ट सिस्टम पायथन 2.7 था, और मैंने "पीथॉन @ 2" को स्थापित करते हुए एक और पैकेज स्थापित करना।

यदि आप OSX पर हैं और homebrew का उपयोग कर रहे हैं brew list, तो चल रहे द्वारा काढ़ा के साथ स्थापित अपने पैकेजों की जाँच करें , और यदि "python @ 2" उस सूची में दिखाई देता है, और पायथन 2.7 आपका सिस्टम पायथन है, तो आप काढ़ा संकुल को हटा सकते हैंbrew remove python@2 --ignore-dependencies


2
यह एक काढ़ा उन्नयन के बाद उनके पैकेज @ संस्करण नए वाले कई पैकेज की जगह के बाद हुआ ... धन्यवाद!
ह्यूगो एच

2
इससे मुझे मदद मिली। swiftमैक पर चलने पर मुझे उपर्युक्त त्रुटियां मिलीं। यह पता चला क्योंकि यह काढ़ा से python2 का उपयोग कर रहा था। इसे हटाकर मेरा मुद्दा ठीक हो गया।
jmurphyau

2
इसके लिए धन्यवाद। इसने मेरी lldbचेतावनी को हल करने में मदद की ।
स्टीवन हेप्टिंग सेप

सर उठाने के लिए धन्यवाद। मैंने अभी-अभी / यूएसआर / लोकल / बिन / पाइथन में अपने सिम्लिंक्स को अपडेट किया, नवीनतम होमब्रेव पायथन को इंगित करने के लिए, सिस्टम पायथन के बजाय
मैट

9

यदि आप एक आभासी वातावरण का उपयोग कर रहे हैं, तो आपको इसे फिर से बनाने की आवश्यकता होगी। दूसरी संभावना यह है कि आप कुछ स्रोत आधारित या साइड-इंस्टॉल किए गए पायथन संस्करण का उपयोग करते हैं जो सिस्टम के साथ टकराता है। उस स्थिति में आपको यह सुलझाना होगा कि सही फ़ोल्डर और पथ कॉन्फ़िगर किए गए हैं जो विभिन्न वातावरणों से देखे गए हैं।


3

मेरे मामले में, यह आभासी वातावरण से संबंधित एक त्रुटि थी। इसलिए, मेरे लिए एक नया आभासी वातावरण बनाने का काम किया। यहां उन आदेशों की सूची दी गई है, जो आपकी मदद कर सकते हैं।

आभासी वातावरण स्थापित करना:

pip install virtualenv

एक नया आभासी वातावरण बनाना:

virtualenv -p {env_name}

आभासी वातावरण सक्रिय करना:

source env_name/bin/activate

अपने वर्चुअल एनकाउंटर को निष्क्रिय करना:

deactivate

ओपी वर्चुअल एनवी का कोई उल्लेख नहीं करता है, इसलिए आपका उत्तर उस मुद्दे को संबोधित नहीं करता है जब वर्चुअल एनवी का उपयोग नहीं किया जाता है।
माइक उम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.