我正在使用Python 3.7.9和Pyinstaller 5.0.1
我正在尝试冻结使用阴影的代码。当我从Pycharm执行它时,它运行良好。当我冻结代码后执行exe时,我得到这个错误:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\gauth\AppData\Local\Temp\_MEI233082\pyshadow\resources\querySelector.js
当你的python代码使用一些需要第三方文件的特定模块时,这可能是一个常见的问题。在我的情况下,它是关于影子丢失一个JS文件。
所以我在冻结命令中添加了这个文件'querySelector.js':
pyinstaller --onefile -F --uac-admin --icon="icon_PhoneBot_256.ico" --clean --noconsole --add-data "querySelector.js;." main.py
但是我仍然得到相同的错误。
有没有人知道如何解决这个问题?
感谢rokm。我从PyInstaller开发人员的git论坛上得到了他的帮助(详细信息在这里:https://github.com/pyinstaller/pyinstaller/discussions/6905)。我把他的答案发表在这里,以防有人有同样的问题。
我必须添加参数:
--collect-data pyshadow
所以我的最后一个命令是:
pyinstaller --onefile -F --uac-admin --icon="icon_PhoneBot_256.ico" --clean --noconsole --collect-data pyshadow main.py
它就像一个魅力!