Windows安装Pycrypto

最近想着利用pysftp将本地的图片全部上传到站点服务器上去

结果却是发现他每次都提示找不到Crypto模块

没办法,只好上网找了   但是苦逼的是安装pyCrypto的时候  要么就报找不到.h头文件,要么就直接编译的时候给报错

报找不到.h文件的解决方法:

1. 直接从VS库里面将对应的.h文件放到python的include文件夹里面

2. 更改python脚本,让其在cl.exe后面添加新目录 –I <.h文件所在目录>

 

编译时错误:

[codesyntax lang=”text”]
D:\Apps\Python\module\pycrypto-2.6.1>setup.py install
running install
running build
running build_py
running build_ext
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.

building ‘Crypto.Random.OSRNG.winrandom’ extension
W:\PROGRA~2\Microsoft Visual Studio 9.0\VC\bin\cl.exe /c /nologo /Ox /MD /W3 /GS – /DNDEBUG -Isrc/ -Isrc/inc-msvc/ -ID:\Apps\Python\include -ID:\Apps\Python\PC /Tcsrc/winrand.c /Fobuild\temp.win-amd64-2.7\Release\src/winrand.obj
winrand.c
D:\Apps\Python\include\winnt.h(3019) : error C2061: 语法错误 : 标识符“PCONTEXT”
D:\Apps\Python\include\winnt.h(3020) : error C2059: 语法错误 : “}”
D:\Apps\Python\include\winbase.h(1481) : error C2061: 语法错误 : 标识符“LPCONTEXT”
D:\Apps\Python\include\winbase.h(1481) : error C2059: 语法错误 : “;”
D:\Apps\Python\include\winbase.h(2222) : error C2146: 语法错误 : 缺少“)”(在标识符“lpContext”的前面)
D:\Apps\Python\include\winbase.h(2222) : error C2081: “LPCONTEXT”: 形参表中的名称非法
D:\Apps\Python\include\winbase.h(2222) : error C2061: 语法错误 : 标识符“lpContext”
D:\Apps\Python\include\winbase.h(2222) : error C2059: 语法错误 : “;”
D:\Apps\Python\include\winbase.h(2223) : error C2059: 语法错误 : “)”
D:\Apps\Python\include\winbase.h(2230) : error C2143: 语法错误 : 缺少“)”(在“*”的前面)
D:\Apps\Python\include\winbase.h(2230) : error C2143: 语法错误 : 缺少“{”(在“*”的前面)
D:\Apps\Python\include\winbase.h(2231) : error C2059: 语法错误 : “)”
error: command ‘W:\\PROGRA~2\\Microsoft Visual Studio 9.0\\VC\\bin\\cl.exe’ failed with exit status 2
[/codesyntax]

 

找了很久 都没有找到解决办法

后来一想,算了虽然是开源的 但至少网络上已经人家已经编译好的程序 就直接进行复制得了
也省得自己耗费大量的精力去处理这些错误

功夫不负有心人,总算让我找到Windows下使用VS2008或者VS2010编译的PyCrypto应用了

 

PyCrypto 2.6:

 

PyCrypto 2.3:

 

PyCrypto 2.1:

 

好了 总算是大功告成了  暂时就先这样处理吧

同时 也欢迎诸位大神,如果能解决那个编译时错误的话 也敬请和我联系

 

本文参考至:  The Voidspace Python Module

发布者

混沌未开

一个经常性心血来潮的收藏狂,希望能通过自己所学所见来获得周遭孩纸的认可……