我使用py2exe创建了带有64位python解释器和32位python解释器的python可执行文件。
在我的程序中,我使用模块pywin32 com
,因此在创建可执行文件之前,我已经安装并安装了64位和32位版本的程序。
64位exe工作正常,但32位的有一个问题:
Traceback (most recent call last):
File "program.py", line 11, in <module>
File "win32com\__init__.pyc", line 5, in <module>
File "win32api.pyc", line 12, in <module>
File "win32api.pyc", line 10, in __load
ImportError: DLL load failed: The specified procedure could not be found.
我通过直接运行源代码尝试了两个版本,即python program.py
和C:\python_32\python.exe program.py
,两者都运行良好。
注意我在64位Windows 7计算机上测试了64位exe,在32位Windows XP计算机上测试了32位exe。
答案 0 :(得分:3)
比以往任何时候都要老,但我今天偶然发现了这个问题,如果有其他人这样做,我跑的是:
来自命令行的 python /c/Python26/Scripts/pywin32_postinstall.py -install
(更改值以适应)。这很有效:
$ python /c/Python26/Scripts/pywin32_postinstall.py -install
Copied pythoncom26.dll to C:\WINDOWS\system32\pythoncom26.dll
Copied pythoncomloader26.dll to C:\WINDOWS\system32\pythoncomloader26.dll
Copied pywintypes26.dll to C:\WINDOWS\system32\pywintypes26.dll
Registered: Python.Interpreter
Registered: Python.Dictionary
Registered: Python
-> Software\Python\PythonCore\2.6\Help[None]=None
-> Software\Python\PythonCore\2.6\Help\PythonwinReference[None]='c:\\Python26\\Lib\\site-packages\\PyWin32.chm'
Pythonwin has been registered in context menu
Creating directory c:\Python26\Lib\site-packages\win32com\gen_py
Shortcut for Pythonwin created
Shortcut to documentation created
The pywin32 extensions were successfully installed.`
(在WinXP SP3上)
答案 1 :(得分:1)
我在我的python27 pywin32安装中出现上述错误,该安装是在我在Windows2008 R2服务器上安装ArcGIS后安装的(试图集中我们的脚本)。
发现对我来说,我必须以run as adminstrator启动命令行窗口(右键单击以在Windows中获取该选项)然后从c:\arcpy27\arcgis10.1>python c:/arcpy27/arcgis10.1/scripts/pywin32_postinstall.py -install
我看到很多人都遇到过这个问题,我尝试了很多东西,但这最终成了安装pywin32的解决方案。
非常感谢你的解决方案。在我最终遇到你的解决方案并为我的版本修改它之前,我做了几次安装和卸载。