我正在尝试从多个 python 文件和其他文件(图像,excel 电子表格)生成一个独立的 exe 文件
I’m trying to generate a standalone exe file from multiple python files and additional files (image, excel spreadsheet)
我对使用 Python 进行编程还很陌生,所以我可能在这里遗漏了一些非常明显的东西。
我在Python做了一个小程序,运行正常,但我想和同事分享,所以我想做一个独立版本,我试过使用Pyinstaller作为它似乎是最简单易用的,但是生成的exe文件到目前为止似乎还没有用。
所以我将我的程序分为一个名为 "main.py" 的主文件和 3 个额外的函数,这些函数是我从同一文件夹中的其他 python 文件导入到主文件中的。它使用一个 excel 电子表格和一个 .ico 图像作为 tkinter 中的徽标。
我的第一次尝试只使用了命令:
pyinstaller main.py
它生成了exe文件,但是执行它时只是打开一个黑色window,没有其他任何反应。
我正在阅读 pyinstaller 的文档,认为我可能还需要添加其他 python 文件和额外文件。对于 excel 和图像我没能理解我需要如何编写它,我尝试添加以下作为选项,但它给了我一个错误
--add-data <logo.ico> --add-data <WAE_SW_NameCnvtn.xlsx>
没有这些,我设法使用以下命令再次生成 exe 文件:
pyinstaller --windowed --name=NameCnvtn main.py read_description.py read_quantity.py word_finder.py
这似乎在 dist 文件夹中添加了很多文件,当我执行 exe 文件而不是黑色 window 时,它显示 "failed to execute the script main",我假设它指的是我的 main.py 文件.
如果有帮助,我使用 python 3.6.4 开发它,它使用 tkinter 和 openpyxl。
感谢您的帮助。
我今天成功运行了exe。我在spec文件中手动添加了 excel 和数据行下的ico,再次编译它之后就正确了 运行ning 。这是规范文件,以防有人遇到与我相同的问题。
# -*- mode: python -*-
block_cipher = None
a = Analysis(['main.py', 'read_description.py', 'read_quantity.py', 'word_finder.py'],
pathex=['C:\Users\j.berjano\Desktop\app_test'],
binaries=[],
datas=[('WAE_SW_NameCnvtn.xlsx','.'),('logo.ico','.')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='NameCnvtn',
debug=False,
strip=False,
upx=True,
console=False,
icon='logo.ico')
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='NameCnvtn')
我对使用 Python 进行编程还很陌生,所以我可能在这里遗漏了一些非常明显的东西。
我在Python做了一个小程序,运行正常,但我想和同事分享,所以我想做一个独立版本,我试过使用Pyinstaller作为它似乎是最简单易用的,但是生成的exe文件到目前为止似乎还没有用。
所以我将我的程序分为一个名为 "main.py" 的主文件和 3 个额外的函数,这些函数是我从同一文件夹中的其他 python 文件导入到主文件中的。它使用一个 excel 电子表格和一个 .ico 图像作为 tkinter 中的徽标。
我的第一次尝试只使用了命令:
pyinstaller main.py
它生成了exe文件,但是执行它时只是打开一个黑色window,没有其他任何反应。
我正在阅读 pyinstaller 的文档,认为我可能还需要添加其他 python 文件和额外文件。对于 excel 和图像我没能理解我需要如何编写它,我尝试添加以下作为选项,但它给了我一个错误
--add-data <logo.ico> --add-data <WAE_SW_NameCnvtn.xlsx>
没有这些,我设法使用以下命令再次生成 exe 文件:
pyinstaller --windowed --name=NameCnvtn main.py read_description.py read_quantity.py word_finder.py
这似乎在 dist 文件夹中添加了很多文件,当我执行 exe 文件而不是黑色 window 时,它显示 "failed to execute the script main",我假设它指的是我的 main.py 文件.
如果有帮助,我使用 python 3.6.4 开发它,它使用 tkinter 和 openpyxl。
感谢您的帮助。
我今天成功运行了exe。我在spec文件中手动添加了 excel 和数据行下的ico,再次编译它之后就正确了 运行ning 。这是规范文件,以防有人遇到与我相同的问题。
# -*- mode: python -*-
block_cipher = None
a = Analysis(['main.py', 'read_description.py', 'read_quantity.py', 'word_finder.py'],
pathex=['C:\Users\j.berjano\Desktop\app_test'],
binaries=[],
datas=[('WAE_SW_NameCnvtn.xlsx','.'),('logo.ico','.')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='NameCnvtn',
debug=False,
strip=False,
upx=True,
console=False,
icon='logo.ico')
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='NameCnvtn')