Pyinstaller指定.spec文件运行后遭重置问题求助
解决PyInstaller修改.spec文件后被重置的问题
嘿,我一眼就看出问题出在哪了——你执行命令的方式不对!当你同时把source.py和source.spec传给PyInstaller时,它会默认重新分析你的Python脚本,直接生成全新的默认spec文件,把你辛苦修改的内容全覆盖了。
正确的操作方式很简单:
- 先把
source.spec里的hiddenimports、datas这些自定义配置改好,保存文件。 - 只需要运行这一条命令:
别再带上pyinstaller source.specsource.py了!这样PyInstaller会完全按照你修改后的spec文件来打包,不会再重置你的自定义设置。
额外的小建议:
- 如果你是第一次生成spec文件,可以用类似
pyinstaller --onefile source.py(或者--onedir生成文件夹形式的包)生成初始的spec,之后再修改它,后续打包就只针对spec文件操作。 - 检查
Analysis类的参数是否正确,比如hiddenimports应该是一个模块名的列表,datas是元组列表,每个元组是(源文件/文件夹路径, 打包后在程序里的目标路径),比如:Analysis( ['source.py'], hiddenimports=['requests', 'pandas'], datas=[('./assets', 'assets'), ('config.ini', '.')], ... ) - 怕不小心覆盖的话,可以先给修改好的spec文件做个备份,或者改个独特的名字(比如
my_custom_app.spec),打包时对应执行pyinstaller my_custom_app.spec就行。
内容的提问来源于stack exchange,提问作者Amr Abdu
相关产品推荐
相关产品推荐

