从Crypto导入Random - > ImportError:无法导入名称Random

Kev*_*vin 13 python pycrypto

我已经将pycrypto(版本2.3)安装到/usr/local/lib/python2.6/dist-packages/Crypto/,我可以在那里看到Random包.

但是当我尝试导入Crypto.Random时,它让我大吃一惊

from Crypto.Random import *
ImportError: No module named Random
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会发生这种情况?谢谢.

import Crypto
import os
print(Crypto.__file__);
print (dir(Crypto));
print(os.listdir(os.path.dirname(Crypto.__file__)))
Run Code Online (Sandbox Code Playgroud)

结果:

/usr/lib/python2.6/dist-packages/Crypto/__init__.pyc
['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__revision__', '__version__']
['Hash', 'Protocol', 'PublicKey', 'test.py', 'Util', 'test.pyc', '__init__.pyc', '__init__.py', 'Cipher']
Run Code Online (Sandbox Code Playgroud)

phi*_*hag 15

您可能Crypto在Python包中有另一个模块.你可以检查一下

import Crypto
print(Crypto.__file__)
# should print /usr/lib/python2.6/dist-packages/Crypto/__init__.pyc
Run Code Online (Sandbox Code Playgroud)

如果您找到另一个加密模块,请重命名/删除它或进行调整 sys.path

此外,您的pycrypto版本可能已过时.检查Crypto.__version__- Crypto.Random从2.1.0alpha1开始存在.