py2exe ctypes dll加载错误(从编译的exe运行时,而不是使用interp运行代码时)

2024-04-28 12:06:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用py2exe编译和执行

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

C:\wdir\mvl-tryton-client\tryton-3.2.3\bin>python tryton

它工作得很好。在

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

^{pr2}$

我猜是在设置.py,或者缺少ctypes库的路径,但我在文档中找不到任何精确的信息。在

如有任何帮助或提示,我们将不胜感激。 谢谢。 马里亚诺

编辑:这是_ctypes.py. 我试图打印名称和路径变量。但是当从cmd运行exe时,它没有显示任何输出。在

def __load():
    import imp, os, sys
    try:
        dirname = os.path.dirname(__loader__.archive)
    except NameError:
        dirname = sys.prefix
    path = os.path.join(dirname, '_ctypes.pyd')
    #print "py2exe extension module", __name__, "->", path
    mod = imp.load_dynamic(__name__, path)
##    mod.frozen = 1
__load()
del __load

Tags: path代码namepy路径cmdmodos
1条回答
网友
1楼 · 发布于 2024-04-28 12:06:17

谢谢大家的评论。我解决了添加ctypes和\u ctypes包到包含中的问题设置.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" ]
    }
}

相关问题 更多 >