如何解决PyArmor执行pack命令时无法识别.pyw格式脚本的问题
PyArmor 6.x 打包.pyw文件报错解决方案
该报错是PyArmor 6.x版本的已知特性:默认状态下pack命令仅自动识别
.py后缀的Python脚本,不会检索.pyw后缀文件,和文件本身是否存在无关。
方案1:添加参数直接打包.pyw文件
调整原命令,添加--script参数明确告知PyArmor目标文件为可执行脚本即可:pyarmor pack -e " --onefile --icon icon.ico" --script MyScript.pyw方案2:临时修改后缀打包(操作更简单)
- 把
MyScript.pyw重命名为MyScript.py - 运行你原本的打包命令即可:
pyarmor pack -e " --onefile --icon icon.ico" MyScript.py - 打包完成后把原文件后缀改回
.pyw即可,最终生成的exe不会弹出多余控制台窗口,和直接打包.pyw效果完全一致
- 把
补充排查项
如果执行上述操作后仍报错,可直接填写.pyw文件的绝对路径执行打包,避免工作目录不匹配的问题:
示例(Windows环境):pyarmor pack -e " --onefile --icon icon.ico" D:\projects\test\MyScript.pyw
如果后续升级到PyArmor 7.x及以上版本,官方已经修复了该问题,默认支持自动识别.pyw后缀文件,不需要额外添加参数。
内容的提问来源于stack exchange,提问作者benji
相关产品推荐
相关产品推荐

