因此,我有一种情况,我需要制作二进制补丁,然后能够从python中应用它们。我找到了bsdiff,它看起来是一个很好的算法,并且有一个python extension module,但是那个扩展模块没有一个超过Python 2.5的windows安装程序
好吧,因为我从来没有认真地编写过C语言,更不用说尝试了一个python扩展模块,所以我开始自己编译它。几个小时后,我用MinGW32对一个DLL加载错误大发雷霆,我设法用项目源中提供的setup.py编译和构建了它。但是,在导入生成的bsdiff模块时,我得到:
ImportError: DLL load failed: %1 is not a valid Win32 application.
我在运行64位python。
有什么建议吗?
Python和pywin32的版本不匹配。在使用easy_install在虚拟环境中安装pywin32后,我收到了相同的错误消息:
(py351env) C:\Users\ernesto.luzon\Downloads>easy_install pywin32-220.win-amd64-py3.5.exe
当我尝试导入win32gui时,得到了完全相同的错误:
DLL Load Failed: %1 is not a valid win32 application
通过谷歌搜索错误消息,我找到了这篇文章,cgohlke建议从这里下载pywin32包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32
我下载了64位版本并通过pip安装了它:
pip install pywin32-220-cp35-none-win_amd64.whl
我马上收到一条错误消息,我的python版本与我试图安装的包不匹配。所以我在命令行中输入“python”来启动解释器,实际上我64位机器中安装的python是32位python。在卸载python并正确安装64位python之后,这个错误消失了,无论我是使用easy_install从sourceforge项目安装pywin32,还是使用pip从gohlke安装wheel文件。
相关问题 更多 >
编程相关推荐