0 votos

El módulo 'json' de Python 3 está realmente corrupto

Hago esta pregunta aquí y no en Stack Overflow porque parece ser específica de MacOS. Muchas respuestas allí apuntan a la búsqueda de un módulo "json.py" malo sin embargo podemos ver de lo siguiente que no se está importando tal módulo malo.

¿Cómo puedo "arreglar" la instalación de Python 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

Aquí es donde se encuentra:

$ which python3
/usr/local/bin/python3

He probado un brew reinstall python3 en vano.

0 votos

¿No viene python3 preinstalado? Ciertamente, nunca ensuciaría mi disco duro con el lenguaje de los campesinos a propósito y, aun así, nunca usaría brew para hacer algo, pero tengo a Python. El punto aquí es que creo que hacer el brew instalar puede estar corrompiendo algo. Desinstala Python de brew, desinstala brew. Instala los paquetes desde Python.org.

0 votos

Python3 a través de brew no ha sido intrínsecamente un problema para mí y sólo es necesario como dependencia para otros brew -paquetes instalados. Sin embargo, he corrompido la instalación, y resulta que, a su punto, la eliminación por completo permite que se encuentre Python3 incorporado.

1voto

Charney Kaye Puntos 101

Bueno, supongo que me ocuparé de "glib, graphviz y gts" más adelante, pero lo que me sirvió fue eliminar por completo la instalación de brew de Python 3:

brew uninstall --ignore-dependencies python3

Y ahora las cosas vuelven a la normalidad:

$ 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}'

0voto

benwiggy Puntos 8

No puedo reproducir los errores en dos Macs, uno ejecutando Python 3.7.4 en Mojave; y otro ejecutando 3.8.3 en Big Sur. He instalado Python directamente desde los paquetes en 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

Ambos dicen "Clang 6.0", si eso es relevante.

Puede ser que tu instalación esté corrupta y necesites reinstalar python3. Si estás usando HomeBrew o similar, entonces puede que necesites contactar con ellos para obtener soporte.

0 votos

Sin duda se trata de una instalación corrupta. He intentado brew reinstall python3 en vano.

1 votos

¿Cuál fue el resultado de tu informe de errores a homebrew?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X