ImportError: 'एनकोडिंग' नाम का कोई मॉड्यूल नहीं


106

मैंने हाल ही में ubuntu को फिर से स्थापित किया और 16.04 में अपग्रेड किया और अजगर का उपयोग नहीं कर सकता:

$ python manage.py runserver
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted

इस बिंदु पर, अजगर खुद काम नहीं करता है

$ python
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted

अब भी यह सुझाव काम नहीं कर रहा है:

unset PYTHONHOME
unset PYTHONPATH

हर मैं इसे एक तरह से ठीक करता हूं, यह फिर से वापस आता है। कई उत्तर अस्थायी रूप से इसे ठीक करने में मदद करते हैं, लेकिन अच्छे के लिए नहीं। मैंने कई बार अजगर और अजगर 3 को फिर से स्थापित किया है। मैं यहाँ से क्या कर सकता हूँ? धन्यवाद


क्या यह Django या सिर्फ पायथन से संबंधित है? आप उपयुक्त टैग के साथ अपने प्रश्न को संपादित करना चाह सकते हैं।
मूसा कोलेडेय

2
बस अजगर, मैं django
codyc4321

ऐसा लगता है कि अजगर स्थापना अधूरी है। क्या आपने उपयुक्त माध्यम से अजगर को स्थापित किया है या आपने इसे संकलित किया है और इसे स्रोत से स्थापित किया है? भागो which pythonआप $ पथ में पहली है जो अजगर द्विआधारी जाँच करने के लिए।
एचएएल

क्या आपने python2 और python3 के माध्यम से अनइंस्टॉल करने और पुन: स्थापित करने की कोशिश की है apt?

जब मैं एक आभासी env को pip3 install -r requirments.txt int की कोशिश कर रहा था, तो मैंने बिटनामी Django स्टैक का उपयोग करके इसमें भाग लिया। यह आभासी एनवी का उपयोग किए बिना ठीक काम किया। मुझे यह पता लगाने में समय नहीं लगा कि यह मुद्दा क्यों था।
ब्रैड रोहड्स

जवाबों:


88

पायथन -3 के लिए वर्चुअल वातावरण फ़ाइलों को हटाने का प्रयास करें। और इसे रीसेट कर रहा है।

rm -rf venv
virtualenv -p /usr/bin/python3 venv/
source venv/bin/activate
pip install -r requirements.txt

https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Python_3 संपादित करें


2
महान! virtualenvकमांड का उपयोग करके env में python3 कैसे स्थापित करें, यह सिखाने के लिए धन्यवाद ! किसी कारण से, मुझे इसे खोजने में लगभग 2 महीने लगे। कमाल है ...
MadPhysicist

2
नमस्ते मैंने अपने अमेज़ॅन एएमआई डिवाइस (आरएचईएल पर आधारित) पर ऐसा करने की कोशिश की, लेकिन यह काम नहीं करता है। किसी अन्य तरीके से इसे हल किया जा सकता है?
दिविज सहगल

1
जब मैंने अंतिम एक कमांड दर्ज की, तो यह मुझे नीचे दी गई त्रुटि है जिसे आप कृपया हल कर सकते हैं ... आवश्यकताओं को नहीं खोल सकते फ़ाइल: [Errno 2] ऐसी कोई फ़ाइल या निर्देशिका नहीं: 'आवश्यकताएँ।'
दीपक चावला

1
@DeepakChawla आवश्यकताएँ। Tw को उस pwd में मौजूद होना चाहिए जहाँ से आप यह कमांड जारी कर रहे हैं और इसका एनवायरनमेंट बनाने से कोई लेना-देना नहीं है, यह बैच मोड में पैकेज स्थापित करने का एक तरीका है।
अमर

7
यह नहीं होना चाहिए source venv/bin/activate?
कीथ

16

विंडोज 10 यूजर के लिए।

मैं Windows10 पर python3.4 का उपयोग कर रहा था। मैंने python3.5 स्थापित किया। मुझे PYTHONPATH, PYTHONHOME env वैरिएबल नहीं मिला। यदि मैं सीएमडी कंसोल में अजगर को आज्ञा देता हूं, तो यह अजगर 3.4 का उपयोग करता रहा। मैंने python3.4 को हटा दिया। जब भी मैं सीएमडी कंसोल में अजगर को आज्ञा देता हूं, यह नीचे की तरह एक त्रुटि दिखाना शुरू कर देता है।

Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

मैंने अपनी समस्या का पता लगाने के लिए खोज की। समाधान सरल था। जब आप python3.5 स्थापित करते हैं, तो आप उन्नत विकल्पों में पर्यावरण चर में Add Python को कस्टम स्थापित और जांच सकते हैं ।

मैं सिर्फ इस मामले के लिए यहां से चला जाता हूं कि किसी के पास इसी तरह की समस्याएं हैं ताकि वे अपना कीमती समय बर्बाद न करें।


11

मैं विंडोज 7 के तहत एक ही समस्या का सामना कर रहा था। त्रुटि संदेश इस तरह दिखता है:

Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000011f4 (most recent call first):

मैंने पायथन 2.7 स्थापित करते समय पायथन 2.7 (अब अनइंस्टॉल किया गया) स्थापित किया है, और मैंने "उन्नत विकल्पों में पर्यावरण चर में पायथन जोड़ें" की जाँच की। यह पता चलता है कि पर्यावरण चर " PYTHONHOME " और " PYTHONPATH " अभी भी python2.7 है।

अंत में मैंने इसे " PYTHONHOME " संशोधित करके python3.6 इंस्टॉल पथ में बदल दिया और चर " PYTHONPATH " को हटा दिया ।


9

विंडोज 7 पर इसी मुद्दे के लिए

यदि आपके पर्यावरण चर / सिस्टम चर गलत तरीके से सेट किए गए हैं, तो आपको इस तरह एक त्रुटि दिखाई देगी:

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

Current thread 0x00001db4 (most recent call first):

इसे ठीक करना वास्तव में सरल है:

  1. जब आप Python3.x संस्करण डाउनलोड करते हैं, और .exe फ़ाइल चलाते हैं, तो यह आपको अनुकूलित करने का विकल्प देता है कि आपके सिस्टम में आप Python को कहाँ स्थापित करना चाहते हैं। उदाहरण के लिए, मैंने इस स्थान को चुना: C: \ Program Files \ Python36

  2. फिर सिस्टम गुण खोलें और " उन्नत " टैब पर जाएं (या आप बस यह कर सकते हैं: प्रारंभ पर जाएं> " पर्यावरण चर " के लिए खोजें > "सिस्टम वातावरण चर संपादित करें" पर क्लिक करें।) "उन्नत" टैब के तहत, देखें। "पर्यावरण चर" और इसे क्लिक करें। "पर्यावरण चर" नाम के साथ एक और विंडो पॉप अप होगी।

  3. अब सुनिश्चित करें कि आपके उपयोगकर्ता चर में "पथ चर" में सूचीबद्ध सही पायथन पथ है। यहाँ मेरे उदाहरण में, आपको C: \ Program Files \ Python36 देखना चाहिए । यदि आपको यह वहां नहीं मिलता है, तो इसे जोड़ें, पथ चर क्षेत्र का चयन करके और संपादित करें पर क्लिक करें।

  4. अंतिम चरण एक ही विंडो में सिस्टम वेरिएबल्स के तहत PYTHONHOME और PYTHONPATH फ़ील्ड को दोबारा जांचना है । आपको ऊपर बताए अनुसार ही रास्ता देखना चाहिए। अगर वहां भी नहीं जोड़ेंगे।

फिर ओके पर क्लिक करें और सीएमडी टर्मिनल पर वापस जाएं, और अजगर के लिए जाँच करें। इस मुद्दे को अब हल किया जाना चाहिए। इसने मेरे लिए काम किया।


यह win10 पर बिल्कुल वैसा ही है। मेरे मामले में यह सिर्फ PYTHONHOME था और PYTHONPATH को एक पुराने इंस्टाल में सेट किया जा रहा था।
एंड्रीस मारफियोटी

@dotpy_novice क्या आप चरण 4 को विस्तार से बता सकते हैं? मेरे पास मेरे उपयोगकर्ता चर में सूचीबद्ध कोई रास्ता नहीं था और मैंने चरण 3 में कहा था कि अब मैं आगे बढ़ने के लिए थोड़ा संकोच कर रहा हूं। सिस्टम चर में कोई PYTHONHOME और PYTHONPATH नहीं हैं । क्या मुझे उन्हें स्वयं बनाना चाहिए, यदि हाँ, तो मुझे परिवर्तनीय नाम और चर मूल्य के लिए क्या सम्मिलित करना चाहिए ?
bit_scientist

6

उबुन्टु 17.10 में प्रवास के दौरान मुझे यह त्रुटि हुई और इससे समस्या हल हो गई:

sudo dpkg-reconfigure python3

हो सकता है कि आपको अपना सत्र बंद करना होगा और पुन: कनेक्ट करना होगा।


मेरे पास 16.04 हैं, इससे मेरी समस्या हल नहीं हुई। मैं सिर्फ यह समझने की कोशिश कर रहा हूं कि ऐसा क्यों हुआ था
जेवितोज चीमा

Ubuntu 16.4 पर समान समस्या .. क्या मुझे उबंटू को फिर से स्थापित करना चाहिए? /usr/sbin/dpkg-reconfigure: python3 ist kaputt oder nicht komplett installiert
टीमो

ऑन 18.04 Lubuntu, यह कहता हैFatal Python error: Py_Initialize: Unable to get the locale encoding
तिमो

1

/Lib/python3.5 को देखें और आपको अजगर पुस्तकालयों के टूटे हुए लिंक दिखाई देंगे। इसे कार्यशील निर्देशिका में पुनः बनाएँ।

अगली त्रुटि -

./script/bin/pip3
Failed to import the site module
Traceback (most recent call last):
  File "/home/script/script/lib/python3.5/site.py", line 703, in <module>
    main()
  File "/home/script/script/lib/python3.5/site.py", line 683, in main
    paths_in_sys = addsitepackages(paths_in_sys)
  File "/home/script/script/lib/python3.5/site.py", line 282, in addsitepackages
    addsitedir(sitedir, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 204, in addsitedir
    addpackage(sitedir, name, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 173, in addpackage
    exec(line)
  File "<string>", line 1, in <module>
  File "/home/script/script/lib/python3.5/types.py", line 166, in <module>
    import functools as _functools
  File "/home/script/script/lib/python3.5/functools.py", line 23, in <module>
    from weakref import WeakKeyDictionary
  File "/home/script/script/lib/python3.5/weakref.py", line 12, in <module>
    from _weakref import (
ImportError: cannot import name '_remove_dead_weakref'

इस तरह तय किया गया - /ubuntu/907035/importerror-cannot-import-name-remove-dead-weakref

cd my-virtualenv-directory
virtualenv . --system-site-packages

1

मुझे इस मुद्दे का सामना करना पड़ रहा था "मॉड्यूलनॉटफाउंडर्रर: मैकॉड कैटालिना को अपडेट करने के बाद 'एनकोडिंग' नाम का कोई मॉड्यूल नहीं।

मैं अपने सिस्टम में पायथन के कई संस्करण स्थापित कर रहा था।

सभी अजगर संस्करणों (2.7 और 3.7.4) को macOS सिस्टम से हटाकर और नवीनतम अजगर 3.8 को फिर से इंस्टॉल करना मेरे लिए काम कर गया।

MacOS से एक अजगर को हटाने के लिए, मैंने यहाँ से निर्देशों का पालन किया है कि Mac OS X 10.6.4 पर Python 2.7 की स्थापना कैसे रद्द करें?

उपरोक्त लिंक अजगर 2.7 के लिए है और आप 3.7 के लिए भी इसका उपयोग कर सकते हैं।


0

मेरा मुद्दा भी ऐसा ही था। मेरे कंप्यूटर में एनाकोंडा और अजगर दोनों स्थापित थे और मेरे अजगर निर्भरता एनाकोंडा निर्देशिका से थे। जब मैंने एनाकोंडा को अनइंस्टॉल किया, तो यह त्रुटि शुरू हो गई। मैंने जोड़ा PYTHONPATHलेकिन यह अभी भी नहीं गया। मैंने जाँच की python -versionऔर जाना कि यह अभी भी एनाकोंडा पथ ले रहा था। मुझे एनाकोंडा 3 निर्देशिका को मैन्युअल रूप से हटाना पड़ा और उसके बाद अजगर ने निर्भरता लेना शुरू कर दिया PYTHONPATH
समस्या का समाधान हो गया!


0

एक ही समस्या थी जब उपयोग करते समय मेरे मैक को macOS कैटालिना में अपडेट किया जाता है pipenv। पिपेनव आपके लिए बनाता है और उसका प्रबंधन करता है virtualenv, इसलिए @ अनूप-मालव का पहले का सुझाव एक ही है, बस मौजूदा डायर पर आधारित आभासी वातावरण को हटाने और इसे रीसेट करने के लिए पिपेनव का उपयोग करना है:

pipenv --rm
pipenv shell  # recreate a virtual env with your current Pipfile

0

मेरे मामले में सिर्फ एनाकोंडा फ़ोल्डर की अनुमतियाँ बदलने से काम हुआ:

sudo chmod -R u=rwx,g=rx,o=rx /path/to/anaconda   

-1

चूँकि यह Google में पहला परिणाम है, मैं सिर्फ किसी अन्य व्यक्ति को जेलों की समस्या के लिए निम्नलिखित जानकारी जोड़ना चाहता हूं:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007f079b16d740 (most recent call first):
Aborted (core dumped)

अपने जेल में अजगर को आयात करने का प्रयास करते समय, आप दोनों को निर्भरता और /usr/lib/pythonX.Y [JAIL] / usr / lib / से लिंक करने की आवश्यकता होती है। उम्मीद है की यह मदद करेगा।


प्रिय @matt u कृपया 'जेल' pythonx.y को चरण प्रदान कर सकती है?
प्रणव

@Pranav मैं इस स्क्रिप्ट का उपयोग कर रहा हूं: gist.github.com/williamhaley/5a499cd7c83aa0e01eaf आप उसके बाद copy_binary pythonX चला सकते हैं। फिर पुस्तकालयों को अपने वास्तविक रूट /usr/lib/pythonX.Y पर खोजें जहां XY आपका पायथन संस्करण है उदाहरण python3.7)। उन्हें अपनी जेलों / usr / lib / पर कॉपी करें और आप सेट कर दें। चीयर्स
मैट

-2

बस फाइल पर जाएं -> सेटिंग्स -> प्रोजेक्ट टैब के तहत प्रोजेक्ट इंटरप्रेटर चुनें -> छोटे गियर आइकन पर क्लिक करें -> ऐड -> सिस्टम इंटरप्रेटर -> ड्रॉप डाउन मेनू में इच्छित अजगर संस्करण का चयन करें

यह मेरे लिए काम करने लगा


यह उनका मुद्दा नहीं है
NotSoShabby

-12

मैं भी इसे ठीक कर सकता था। PYTHONPATH और PYTHONHOME कारण थे।

इसे टर्मिनल में चलाएं

   touch ~/.bash_profile
   open ~/.bash_profile

और फिर इस फ़ाइल के सभी बेकार भागों को हटा दें, और सहेजें। मुझे नहीं पता कि ऐसा करने की सिफारिश कैसे की गई!

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