gpt4 book ai didi

python - 如何将python包构建成exe

转载 作者:行者123 更新时间:2023-12-01 06:01:54 27 4
gpt4 key购买 nike

我已经用 python 编写了我的程序。它是跨七个文件编写的,并且在其中三个文件中我导入了自定义包。问题是我无法将我的程序构建成 exe。我尝试过 pyinstaller 1.5.1 和 py2exe。我遵循了我能找到的所有教程,但没有成功。每次我尝试运行创建的 exe 时,都会收到一条错误消息,指出找不到我的自定义包。我想我只是无法将完整的包构建到exe中。请帮忙。

from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')

mfcfiles = [os.path.join(mfcdir, i) for i in ["mfc90.dll", "mfc90u.dll", "mfcm90.dll", "mfcm90u.dll", "Microsoft.VC90.MFC.manifest"]]

data_files = [("Microsoft.VC90.MFC", mfcfiles),]

setup(
data_files = data_files,
options = {'py2exe': {'optimize': 2}},
windows = [{'script': "LoadFilesGUI.py"}],
zipfile = "shared.lib",
)

另一个:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
options = {'py2exe': {'optimize': 2}},
windows = [{'script': "LoadFilesGUI.py"}],
zipfile = None,
console=['LoadFilesGUI.py'],
)

最佳答案

通过“自定义包”,我假设您指的是组成应用程序的自定义 python 模块。我可能建议尝试使用 setup() 调用的“includes”选项来手动指定应包含的 python 模块,以防它们未被自动发现:

setup( 
windows = [{'script': "LoadFilesGUI.py"}],
data_files = data_files,
zipfile = None,
options = {
'py2exe': {
'optimize': 2,
'bundle_files': 1,
'includes' : [],
}
},
)

例如,在我使用 PyQt4 的项目中,我的包含内容如下所示:

options={ 
"py2exe": {
"includes" : ['sip','PyQt4.QtCore','PyQt4.QtGui',
'PyQt4.QtNetwork','PyQt4.QtWebKit']
}
}

setup.py 脚本的其余部分似乎非常标准。确保包含的模块是 PYTHONPATH 的一部分,或者与您的项目相关,或者显式添加到路径中。

如果,正如您在评论中所述,MyPackage 是您项目中的一个包,那么您需要:'includes' : ['MyPackage']

如果这仍然给你带来错误,那么问题可能出在你的项目和包的结构上,或者同样,问题出在你的 PYTHONPATH

关于python - 如何将python包构建成exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10032813/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com