"ImportError: कोई भी मॉड्यूल जिसका नाम _struct" नहीं है, अजगर-न्यूनतम कॉन्फ़िगर कर रहा है


10

जब मैं चलता हूं sudo apt-get upgrade, तो dpkg त्रुटि प्रकट होती है और प्रक्रिया को रोकती है।

गलतियों की जानकारी:

Setting up python-minimal (2.7.3-0ubuntu7.1) ...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/compileall.py", line 16, in <module>
    import struct
  File "/usr/local/lib/python2.7/struct.py", line 1, in <module>
    from _struct import *
ImportError: No module named _struct
dpkg: error processing python-minimal (--configure):
 subprocess installed post-installation script returned error exit status 255
dpkg: dependency problems prevent configuration of python:
 python depends on python-minimal (= 2.7.3-0ubuntu7.1); however:
  Package python-minimal is not configured yet.

और यह समस्या निम्न पैकेजों को संसाधित करते समय निर्भरता समस्याओं की एक श्रृंखला की ओर ले जाती है:

 python
 gwibber-service
 libgwibber3
 libgwibber-gtk3
 gwibber
 gwibber-service-facebook
 gwibber-service-identica
 gwibber-service-twitter
 python-all
 python-dev
 python-all-dev
 python-apt
 python-problem-report
 python-apport
 python-libxml2
 unity-lens-gwibber
 unity-scope-video-remote

अंत में, इस समस्या के लिए मैं कुछ नहीं कर सकता। और कई दिनों बाद, रूट निर्देशिका भरी हुई है और मैं इस समस्या के कारण किसी भी सॉफ़्टवेयर की स्थापना रद्द नहीं कर सका।



@Braiam, मुझे यह सवाल पहले मिला है। अजगर को पुन: स्थापित करने के लिए उत्तर सुझाए गए हैं। मैंने कोशिश की है, और असफल रहा। फिर भी धन्यवाद!
Java Xu

sudo apt-get clean कुछ जगह पाने में मदद करता है
frlan

मैंने /usr/bin/pythonइंगित करने के लिए अपना सिम्कलिन बदल दिया python3.5और इसने बहुत ही समान त्रुटि का कारण बना। यकीन नहीं क्यों, शायद पहले से ही python2.7डिप्स के साथ क्या करना है जो तब टूट गया जब मैंने बिना किसी चेतावनी के सिमलिंक को बदल दिया। IDK, भविष्य के यात्रियों के लिए इसे यहाँ छोड़ रहा है
शांतक

जवाबों:


8

सोरोश द्वारा समाधान का पालन करें। टूटी हुई अजगर (2.7) को मैन्युअल रूप से बनाने और अजगर 2.6 स्थापित करने के बाद

sudo -iरूट एक्सेस के लिए एंटर करें ।

कमांड पेस्ट करें और लगभग 20 मिनट प्रतीक्षा करें। पूरी तरह से चलाता है।

for pkg in $(dpkg --get-selections | egrep -v 'deinstall' | egrep python | awk '{print $1}'); do  apt-get -y --force-yes install --reinstall $pkg ; done

1

ठीक है, पैकेजों के माध्यम से जा रहा है, मैंने पाया कि अजगर-न्यूनतम में स्ट्रैटेन्कोम नहीं है, लेकिन अजगर-न्यूनतम -2.7 करता है।

तो, यह प्रयास करें और देखें कि क्या यह आपकी मदद करता है:

sudo apt-get install --reinstall python2.7-minimal
sudo apt-get upgrade

यहां तक ​​कि अगर यह काम नहीं करता है, तो शायद आपके $ PYTHONPATH को किसी तरह गड़बड़ कर दिया जाता है।

nano ~/.bashrc

export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7"फिर लाइन जोड़ें

source ~/.bashrc

और अपने अपडेट को फिर से आज़माएं।


"निर्यात" को जोड़ने के लिए संपादित किया गया, यह आवश्यक है;)
चक R

यह कहता है "पैकेज अजगर-न्यूनतम 2.7 का पता लगाने में असमर्थ"। क्या आपका मतलब python2.7-minimal है? जब मैं python2.7-minimal को पुन: स्थापित करने का प्रयास करता हूं, तो समान निर्भरता की समस्या होती है।
जावा ज़ू

हम्म, क्षमा करें मुझे आपके वापस आने में इतना समय लगा। कोशिश करो sudo apt-get clean sudo apt-get update sudo apt-get upgrade
चक आर

1
मुझे डर है कि यह काम नहीं करता है। के बाद clean, updateऔर upgradeफिर, मैं पुनः स्थापित करने का प्रयास करता हूं python2.7-minimal, लेकिन वही निर्भरता समस्या प्रकट होती है और reinstallफिर से विफल हो जाती है।
जावा जू

लगता है कि मैं किस पैकेज के बारे में गलत था। यह वास्तव में libpython2.7- न्यूनतम है जिसमें स्ट्रेंथफ्रेम शामिल है। सुनिश्चित करें कि स्थापित है। Python2.7- न्यूनतम का वर्तमान संस्करण जो आपने स्थापित किया है? संकेत:dpkg -l | grep python2.7-minimal
चक R

1

इसे इस्तेमाल करे

sudo apt purge libpython*

मैंने python2.7 और 3.7 को हटा दिया, फिर सिस्टम से संबंधित फ़ाइलों को हटा दिया। उसके बाद मैंने पाया कि मैं python2.7 को पुनर्स्थापित नहीं कर सकता, कई तरीकों की कोशिश की जा रही है, जिनमें अभी भी काम नहीं किया जा रहा है:

नरम लिंक हटा दें

डेल वर्चुअल env dirs

autoremove

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`

तब मैंने अजगर को पूरे सिस्टम में खोज कर कुछ लिबायोथन फाइलें देखीं। (निश्चित नहीं होने पर डीआईआर से आरएम फाइलें न लें।) libpython*संकुल हटाए जाने के बाद (मैंने उन्हें एक-एक करके हटा दिया।), अजगर सफलतापूर्वक स्थापित हो गया।

आशा है कि इससे कुछ लोगों को समान समस्याएं हो सकती हैं


0

नहीं पता है कि यह आपकी मदद करने के लिए जा रहा है, यह अंधेरे में थोड़ा सा छुरा है, लेकिन सुनिश्चित करें कि आपका डिफ़ॉल्ट पायथन संस्करण 2.7 पर सेट है।

/ Usr / बिन में चिंता की तीन फाइलें हैं:

python (symlink)
python2.7
python3 (symlink)

यदि आप करते हैं तो ls -l /usr/bin | grep pythonआप देखेंगे कि प्रत्येक सहानुभूति किस ओर इशारा करती है।

यदि यह आपको दिखाता है python -> python3या python -> python3.3कुछ गड़बड़ है। इस बिंदु पर आप निम्न करना चाहेंगे:

rm /usr/bin/python
ln -s /usr/bin/python2.7 /usr/bin/python

आपके जवाब के लिए धन्यवाद। मेरे में /usr/bin, pythonमुलायम से जुड़ा हुआ है python2.7
जावा जू

ऐसा क्यों है? मैंने इंगित करने के लिए अपना सिम्कलिन बदल दिया था python3.5, और इसने अजगर पैकेजों की एक बड़ी राशि और aptसाथ ही साथ बोरक किया। मैं Python3 को डिफ़ॉल्ट क्यों नहीं कर सकता? सही तरीका क्या है?
चुपचाप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.