Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从编译的exe运行py2exe ctypes dll时出错,但在使用解释器运行代码时出错_Python_Ctypes_Py2exe - Fatal编程技术网

Python 从编译的exe运行py2exe ctypes dll时出错,但在使用解释器运行代码时出错

Python 从编译的exe运行py2exe ctypes dll时出错,但在使用解释器运行代码时出错,python,ctypes,py2exe,Python,Ctypes,Py2exe,我正在使用py2exe编译和执行 当我测试像这样从cmd运行的代码时 C:\wdir\mvl-tryton-client\tryton-3.2.3\bin>python tryton 它很好用 但当我在执行生成的安装后运行它时,我得到: Error DLL load failed: The specified procedure could not be found. File "tryton\common\common.pyc", line 1341, in process File

我正在使用py2exe编译和执行

当我测试像这样从cmd运行的代码时

C:\wdir\mvl-tryton-client\tryton-3.2.3\bin>python tryton
它很好用

但当我在执行生成的安装后运行它时,我得到:

Error DLL load failed: The specified procedure could not be found.

File "tryton\common\common.pyc", line 1341, in process
File "tryton\gui\main.pyc", line 878, in _set_preferences
File "tryton\gui\main.pyc", line 1049, in sig_win_menu
File "tryton\gui\window\view_form\screen\screen.pyc", line 95, in __init__
File "tryton\gui\window\view_form\screen\screen.pyc", line 364, in switch_view
File "tryton\gui\window\view_form\screen\screen.pyc", line 384, in load_view_to_load
File "tryton\gui\window\view_form\screen\screen.pyc", line 397, in add_view_id
File "tryton\gui\window\view_form\screen\screen.pyc", line 425, in add_view
File "tryton\gui\window\view_form\view\widget_parse.pyc", line 4, in <module>
File "tryton\gui\window\view_form\view\form_gtk\__init__.pyc", line 3, in <module>
File "tryton\gui\window\view_form\view\form_gtk\parser.pyc", line 537, in <module>
File "tryton\gui\window\view_form\view\form_gtk\fingerprint.pyc", line 11, in <module>
File "tryton\gui\window\view_form\view\form_gtk\fpenroll.pyc", line 9, in <module>
File "ctypes\__init__.pyc", line 10, in <module>
File "_ctypes.pyc", line 12, in <module>
File "_ctypes.pyc", line 10, in __load

谢谢大家的评论。我解决了将ctypes和_ctypes包添加到includes in setup.py的问题,如下所示:

args['options'] = {
    'py2exe': {
        'optimize': 0,
        'bundle_files': 3,  # don't bundle because gtk doesn't support it
        'packages': [
            'encodings',
            'gtk',
            'pytz',
            'atk',
            'pango',
            'pangocairo',
            'gio',
            'ctypes',
            '_ctypes'
        ],
        'dll_excludes': [ "mswsock.dll", "powrprof.dll" ]
    }
}

这就是整个错误日志吗?找不到哪个dll\过程?我希望知道在哪里查找!。对这是完整的错误日志。您的问题表明py2exe已经包含了ctypes包(
\uuu init\uuu.pyc
),并包含了一个包装器,用于通过
imp.load\u dynamic
加载提取的
\ucTypes.pyd
扩展模块。现在还不清楚在
包中添加名称会改变什么<代码>\u ctypes
甚至不是一个包。你问过名单上的这个吗?没有,我应该问吗?它顺利运行的唯一方法(在ctypes成为一项要求之后)是在Windows8中构建exe,并在Windows8中安装,而不是在其他任何地方。这里的一个是基于XP构建的(因为安装它的大多数计算机都使用XP),可以在所有平台上运行。哦,我还没有尝试只添加类型。但是只是ctypes也不起作用。
args['options'] = {
    'py2exe': {
        'optimize': 0,
        'bundle_files': 3,  # don't bundle because gtk doesn't support it
        'packages': [
            'encodings',
            'gtk',
            'pytz',
            'atk',
            'pango',
            'pangocairo',
            'gio',
            'ctypes',
            '_ctypes'
        ],
        'dll_excludes': [ "mswsock.dll", "powrprof.dll" ]
    }
}