【发布时间】:2014-09-08 09:37:16
【问题描述】:
我已经花了 2 天时间尝试为 Paramiko 模块安装 pyCrypto。
所以,我遇到的第一个问题是:
>>> 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,它不关心大写。我将文件夹名称从加密更改为加密,这个特定问题消失了。
现在它想要 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'
当我尝试通过 PIP 安装它时,我失败了:
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
好像不支持Python3.4。
有没有什么方法可以让它在安装了 Python3.4 的 Win7 x86 上运行?
已安装的模块:
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 版本 3.4.1
【问题讨论】:
-
在哪个操作系统上?和版本?
-
Win7 x86 + Python 3.4.1
-
您是否正确安装了Paramiko? (如此链接所示:github.com/paramiko/paramiko/blob/master/README)
-
我已经通过 PIP 安装了 Paramiko,我想应该没问题。
-
请注意,PyCrypto 项目一直是discontinued,显然PyCryptodome project 旨在成为替代品。就个人而言,我发现
pycryptographyproject 是一个更好的 API。
标签: python windows paramiko pycrypto