2014-07-17 16 views
17

kullanırken 'winrandom' adında bir modül yok. Paramiko modülü için pyCrypto'yu yüklemeye 2 gün sürdüm.pycrypto

Yani, karşılaştığı ilk sorun şuydu:

>>> 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' 

Windows kullanmak ve onu büyük harf umursamayan çünkü aslında çok eğlenceli. Kriptodan Crypto'ya bir klasör adı değiştirdim ve bu sorun ortadan kalktı.

Şimdi istediği 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' 

ben başarısız PIP aracılığıyla yüklemeye çalıştığınızda: Bu Python3.4 desteklemediği gibi

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 

görünüyor.

Python3.4 yüklü her şeyi Win7 x86'da çalıştırmanın bir yolu var mı?

Yüklü modüller:

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 sürümü 3.4.1

+0

Hangi işletim sisteminde? ve sürümü? –

+1

Win7 x86 + Python 3.4.1 – vedburtruba

+0

Paramiko'u doğru şekilde kurdunuz mu? (Bu bağlantıda gösterildiği gibi: https://github.com/paramiko/paramiko/blob/master/README) –

cevap

48

Sorun \ OSRNG \ nt.py Random \ kripto dizeyi düzenleyerek çözülür:

import winrandom 

için
from . import winrandom 
+0

Bu satırı düzenledikten sonra, Python 3.5 32bit ve Windows 8.1: s –

+0

'u kullanarak aynı sorunu yaşıyorum. Çok teşekkür ederim! Windows 10 x64 üzerinde Python 3.5.1 32bit ile aynı sorunu yaşıyorum. – Maks

+0

Mükemmel. Ancak, bu nasıl çalışır? Winrandom'u ithal ediyor ama winrandom'un özelliklerini ve şeylerini değil. – Luke

5
- ImportError: No module named 'winrandom' 10 Süper kolay düzeltme piton benim Windows 10 sistem üzerinde bulunduğu şudur:

C:\Users\Charles\AppData\Local\Programs\Python\Python35

Ama güncellemek için doğru dosyayı bulmak için daha ileri gitmek zorunda, bu yüzden buraya gitmek:

C:\Users\Charles\AppData\Local\Programs\Python\Python35\Lib\site-packages\Crypto\Random\OSRNG\nt.py

herhangi bir metin editörü açın nt.py ve üst yakınında Şimdi çizgiyi değiştirin:

import winrandom 
from . import winrandom 

dosyayı kaydedin - Başlangıçta çalıştırmak çalıştıkları şey işletilen yeniden ve iyi olmalı:

olmalıdır. Umarım bu birisine yardım eder!