Python: impossible d'importer JSONDecodeError
Je suis en train de faire un appel suivant:
from simplejson import JSONDecodeError
Mais j'obtiens cette erreur:
from simplejson import JSONDecodeError
ImportError: cannot import name JSONDecodeError
Les informations suivantes peuvent vous aider:
-
Ce code fonctionne très bien sur ubuntu mais j'ai cette erreur dans mac.
-
J'ai eu plusieurs versions de python, et j'ai juste effacé la version 2.6 de python (que je suis en utilisant python 2.7)
-
et utilisé
easy_install_27
pour installer cette bibliothèque en particulier.
Pourquoi voulez-vous importer JSONDecodeError? Sont que vous essayez d'importer JSONDecoder à la place?
Pourquoi ne pas tout simplement
Ou l'importer à partir d'où il est défini,
pour python 3, juste
Pourquoi ne pas tout simplement
import simplejson
et se réfèrent explicitement à ce que vous avez besoin à l'intérieur de l'espace de nom?Ou l'importer à partir d'où il est défini,
from simplejson.scanner import JSONDecodeError
pour python 3, juste
from json import JSONDecodeError
OriginalL'auteur Fraz | 2013-03-02
Vous devez vous connecter pour publier un commentaire.
Vous avez déjà la réponse sur la façon d'obtenir JSONDecodeError, mais j'ai l'impression que les bons conseils devrait être que vous ne devriez pas essayer de l'importer.
La raison en est que JSONDecodeError n'apparaît que dans
simplejson
, et il n'y a pas vraiment de raison de les utiliser à moins que votre version de Python est fortement dépassées. Le haut-json
est tout aussi rapide dans les dernières versions, et n'a pas de bug unicode. Info: https://stackoverflow.com/a/16131316/723090La solution:
json
soulève un ValueError au lieu de JSONDecodeError, mais JSONDecodeError (soulevées par lessimplejson
) est une sous-classe de ValueError. Ainsi vous pourriez simplement à l'exception d'un ValueError et il va travailler pourjson
etsimplejson
!OriginalL'auteur Mark
Il fonctionne sur mon ordinateur:
Avez-vous vérifié que vous exécutez l'installation de python dans lequel le simplejson bibliothèque est installée? Vérifier
sys.path
et vérifier que toutes les endroits sont dans le chemin de recherche. Neimport simplejson
travail? Si oui, vérifier à partir de ce dossier, le module a été chargé (import simplejson; print simplejson.__file__
). Si c'est comme prévu, puis vérifiez le contenu du module et de voir si la classe JSONDecodeError existe.OriginalL'auteur dsh
Mise à niveau de votre installation:
OriginalL'auteur Burhan Khalid