用py2exe生成exe文件后,在注册服务时报的错
F:\pythonwork\botian.voicebox.client-p\src\dist>buildService install
Traceback (most recent call last):
File "boot_service.py", line 22, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "buildService.pyc", line 12, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "botian\socket\clientServerStart.pyc", line 8, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "EventHandle.pyc", line 7, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "GXDLLApi.pyc", line 12, in <module>
File "ctypes\__init__.pyc", line 431, in LoadLibrary
File "ctypes\__init__.pyc", line 353, in __init__
WindowsError: [Error 126]
奇怪的是报加载DLL报错,然后单独运行那个加载DLL的时候也同样报WindowsError: [Error 126]错误
于是上网查找说是要把DLL放在python.exe目录下或者是加在环境变量里,我看了之后很是郁闷,
如果这样的话,我用py2exe的时候就是为了生成exe文件,那如果我没有安装python的话,那其不还要报错;
还有一个就是网上说的是他的一个DLL引用了另外一个DLL就算是放在一个文件夹下也不行。于是我在想,
我的这个DLL是否也引用了另一个呢?于是呼,把一个可能引用的DLL放在工程里,然后用py2exe运行,
结果还是不行。 然后就想,为什么我加载两个DLL,上一个DLL怎么不报错呢,我就把上一个放在了那个报错的下面,
然后注册服务时有提示一个DLL未被加载到工程里,这时才明白原来还是引用了另一个DLL造成的问题
呵呵,问题终于解决了。。