Python 3 'json' मॉड्यूल वास्तव में दूषित है
मैं यहां यह सवाल पूछ रहा हूं और स्टैक ओवरफ्लो पर नहीं क्योंकि यह मैकओएस विशिष्ट प्रतीत होता है। खराब "json.py" मॉड्यूल के लिए खोज करने के लिए वहाँ पर कई जवाब हालांकि हम निम्नलिखित से देख सकते हैं कि ऐसा कोई बुरा मॉड्यूल आयात नहीं किया जा रहा है।
मैं पायथन 3 की स्थापना को "कैसे" ठीक करूं?
$ python3
Python 3.7.7 (default, Mar 10 2020, 15:43:33)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> d = {'a' : 100, 'b' : 200}
>>> json.dumps(d)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'json' has no attribute 'dumps'
>>> print(json.__file__)
None
यहां यह स्थित है:
$ which python3
/usr/local/bin/python3
मैंने brew reinstall python3कोई फायदा नहीं हुआ।
जवाब
मैं यहां दो मैक पर त्रुटियों को पुन: उत्पन्न नहीं कर सकता, एक मोजेज पर अजगर चल रहा है 3.7.4; और बिग सुर पर 3.8.3 चल रहा है। मैंने python.org पर सीधे संकुल से अजगर स्थापित किया।
>>> json.dumps(d)
'{"a": 100, "b": 200}'
>>> print(json.__file__)
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py
दोनों कहते हैं "क्लैंग 6.0", अगर यह प्रासंगिक है।
हो सकता है कि आपका इंस्टॉलेशन दूषित हो, और आपको python3 को फिर से इंस्टॉल करना होगा। यदि आप HomeBrew या समान का उपयोग कर रहे हैं, तो आपको समर्थन के लिए उनसे संपर्क करने की आवश्यकता हो सकती है।
वैसे मुझे लगता है कि मैं बाद में "ग्लिब, ग्राफविज़ और जीटीएस" से निपटूंगा, लेकिन मेरे लिए क्या चाल थी, जो पायथन 3 की काढ़ा स्थापना को पूरी तरह से हटा देगा:
brew uninstall --ignore-dependencies python3
और अब चीजें वापस सामान्य हो गई हैं:
$ python3
Python 3.7.3 (default, Apr 24 2020, 18:51:23)
[Clang 11.0.3 (clang-1103.0.32.62)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> d = {'a' : 100, 'b' : 200}
>>> json.dumps(d)
'{"a": 100, "b": 200}'