jwt: 'Modul' Objekt hat kein Attribut 'encode'

11

Ich bekomme Modul nicht gefunden Fehler bei der Verwendung von JWT. Hier ist, wie ich es erklärt habe:

%Vor%

Die Fehlermeldung sagt, dass encode in jwt nicht gefunden wird. Ich habe eine Registerkarte auf JWT gemacht und festgestellt, dass die Kodierung eine Methode innerhalb von JWT.JWT ist. Ich habe versucht, es zu

zu ändern %Vor%

und es gibt diesen Fehler:

  

ungebundene Methode encode () muss mit JWT-Instanz als erstes Argument aufgerufen werden (statt dict-Instanz)

Was mache ich falsch? Hier ist die Versionsinformation meiner Python-Umgebung:

  

2.7.10 | Anaconda 2.3.0 (64-Bit) | (Standard, 28. Mai 2015, 16:44:52) [MSC v.1500 64 bit (AMD64)]

    
Arvind Kandaswamy 18.10.2015, 13:25
quelle

4 Antworten

24

Das Problem tritt auf, wenn Sie JWT und PyJWT installiert haben. Wenn Sie import jwt ausführen, wird die Bibliothek JWT im Gegensatz zu PyJWT importiert. Der, den Sie für die Codierung möchten. Ich habe pip uninstall JWT und pip uninstall PyJWT dann schließlich pip install PyJWT . Danach hat es das richtige Modul importiert und das Token erzeugt! :)

    
Joshua 21.12.2015 02:48
quelle
1

Sie können das PyJWT-Paket verwenden, wobei jwt.encode() fehlerfrei funktioniert (keine Initialisierung oder andere Dinge erforderlich). .

    
poxip 23.11.2015 21:18
quelle
0

Nachdem ich mehrere Problemumgehungen ausprobiert habe, habe ich ein neues Python-Notizbuch mit demselben Code erstellt, und es scheint zu funktionieren. Nicht sicher, was das Problem vorher war. Betrachten Sie dieses Problem als geschlossen. Vielen Dank an alle, die es versucht haben.

    
Arvind Kandaswamy 19.10.2015 12:26
quelle
0

Ich hatte auch das gleiche Problem, weil ich das Skript, von dem ich jwt.encode () aufgerufen hatte, als "jwt.py" bezeichnet hatte. Seien Sie also vorsichtig beim Benennen von Skripts. Versuchen Sie, keine Bibliotheksnamen zu verwenden.

    
Aarya 16.09.2017 02:00
quelle

Tags und Links