2017-06-07 5 views
0

Ich versuche AES-Verschlüsselung auf Python und mein Code ist in Ordnung, aber in gibt die Random einen Fehler. Wenn ich den Code ausführen, erhalte ich die folgende Traceback:Crypto Zufallsauswahl funktioniert nicht?

Traceback (most recent call last): 
    File "C:/Users/RedCode/PycharmProjects/SecurityApps/Encryption/AES.py", line 3, in <module> 
    from Crypto import Random 
    ImportError: cannot import name 'Random' 

Wie kann ich dieses Problem beheben?

Wenn es hilft, überprüfte ich meine Website-Paketordner, und ich habe pycrypto, pycryptodome, pycryptodomex, Crypto und crypto-1.4.1.

+0

Mögliches Duplikat von [Tweepy: ImportError: Name kann nicht zufällig importiert werden] (https://stackoverflow.com/questions/25750961/ tweepy-importerror-can not-import-name-random) – Qiu

+1

@Qiu Wenn RedCode nicht bestätigen kann, dass dies ein Problem ist, werde ich nicht dafür stimmen, die Frage als Duplikat zu schließen. Ich denke, es zu schließen, weil RedCode ein 'random.py' definiert hat, ist verfrüht. RedCode, ist es ein Betrogener oder nicht? –

+0

Mögliches Duplikat von [aus Crypto-Import Random -> ImportError: Name kann nicht zufällig importiert werden] (https://StackOverflow.com/questions/7210873/from-crypto-import-random-importerror-cannot-import-name-random). @ phihags Antwort und Kommentare scheinen besonders relevant zu sein. – jww

Antwort

0

Okay, mein Problem war, dass PyCharm den Ordner site-packages nicht richtig gelesen hat. Ich hatte einen Crypto-Paket-Ordner, aber es war nicht der richtige, da es viele Unterordner fehlte. Ich kann mich nicht erinnern, wo ich es heruntergeladen habe, aber es wurde im Grunde den falschen Namen gegeben.

Durch zufälliges Glück fand ich den richtigen Crypto-Ordner im Ordner pycryptodome-3.4.6-py3.6-win32.egg, der das Paket Random enthielt (zusammen mit anderen Paketen). Also entfernte ich den Crypto-Ordner, den ich hatte, und ersetzte ihn durch den, den ich fand und alles funktioniert jetzt