python - instalar - Ningún módulo llamado ''winrandom'' cuando se usa pycrypto
pycrypto python 3.7 windows (2)
El problema se resuelve editando la cadena en crypto / Random / OSRNG / nt.py:
import winrandom
a
from . import winrandom
Ya pasé 2 días tratando de instalar pyCrypto para el módulo Paramiko.
Entonces, el primer problema que había enfrentado era este:
>>> import paramiko
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:/Program Files/Python/lib/site-packages/paramiko/__init__.py", line 31
, in <module>
from paramiko.transport import SecurityOptions, Transport
File "C:/Program Files/Python/lib/site-packages/paramiko/transport.py", line 4
7, in <module>
from paramiko.dsskey import DSSKey
File "C:/Program Files/Python/lib/site-packages/paramiko/dsskey.py", line 26,
in <module>
from Crypto.PublicKey import DSA
ImportError: No module named ''Crypto''
En realidad, es muy divertido porque uso Windows y no me interesa la mayúscula. Cambié el nombre de una carpeta de crypto a crypto y este problema en particular desapareció.
Ahora quiere winrandom:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:/Program Files/Python/lib/site-packages/paramiko/__init__.py", line 31
, in <module>
from paramiko.transport import SecurityOptions, Transport
File "C:/Program Files/Python/lib/site-packages/paramiko/transport.py", line 4
7, in <module>
from paramiko.dsskey import DSSKey
File "C:/Program Files/Python/lib/site-packages/paramiko/dsskey.py", line 26,
in <module>
from Crypto.PublicKey import DSA
File "C:/Program Files/Python/lib/site-packages/Crypto/PublicKey/DSA.py", line
89, in <module>
from Crypto import Random
File "C:/Program Files/Python/lib/site-packages/Crypto/Random/__init__.py", li
ne 28, in <module>
from Crypto.Random import OSRNG
File "C:/Program Files/Python/lib/site-packages/Crypto/Random/OSRNG/__init__.p
y", line 34, in <module>
from Crypto.Random.OSRNG.nt import new
File "C:/Program Files/Python/lib/site-packages/Crypto/Random/OSRNG/nt.py", li
ne 28, in <module>
import winrandom
ImportError: No module named ''winrandom''
Cuando trato de instalarlo a través de PIP fallo con:
Cannot export PyInit_winrandom: symbol not defined
build/temp.win32-3.4/Release/src/winrandom.o:winrandom.c:(.text+0x12): undefined
reference to `Py_InitModule''
collect2: ld returned 1 exit status
error: command ''c://mingw//bin//gcc.exe'' failed with exit status 1
Parece que no es compatible con Python3.4.
¿Hay alguna manera de hacer que todo funcione en Win7 x86 con Python3.4 instalado?
Módulos instalados:
crypto (1.1.0)
ecdsa (0.11)
Fabric (1.9.0)
paramiko (1.14.0)
pip (1.5.6)
pyasn1 (0.1.7)
pycrypto (2.6.1)
PyYAML (3.11)
rsa (3.1.4)
setuptools (2.1)
Python versión 3.4.1
ImportError: No module named ''winrandom''
súper fácil para ImportError: No module named ''winrandom''
; aquí es donde se encuentra Python en mi sistema Windows 10:
C:/Users/Charles/AppData/Local/Programs/Python/Python35
Pero tienes que ir más allá para encontrar el archivo correcto para actualizar, así que ve aquí:
C:/Users/Charles/AppData/Local/Programs/Python/Python35/Lib/site-packages/Crypto/Random/OSRNG/nt.py
Abra el nt.py
en cualquier editor de texto y cambie solo la línea cerca de la parte superior:
import winrandom
debiera ser:
from . import winrandom
Guarde el archivo: vuelva a ejecutar lo que estaba intentando ejecutar originalmente y debería estar bien. ¡Espero que esto ayude a alguien!