PyInstaller + Dash:找不到包-info.json
PyInstaller + Dash: could not locate package-info.json
我想使用 Dash 从 python 脚本制作一个单文件 exe。
我有一个使用烧瓶的类似应用程序,它可以工作。
使用 Dash 代替,当我 运行 生成的 exe 文件时,出现以下错误,我无法解决。
你能帮帮我吗?
我在 Temp 文件夹中遇到了完全相同的问题,我不知道具体原因。我不认为我找到了最好的解决方案,但我通过使用规范文件进行编译并将导致此错误的所有包(所有破折号包和 plotly)添加到 data
参数来解决它。
如 here 所述,您可以像 运行ning 的命令行指令一样为 运行 pyinstaller 创建一个规范文件:pyi-makespec options name.py [other scripts …]
,选项如 --onefile
。
它将创建一个带有 Analysis 构造函数的规范文件,您可以在其中告诉 pyinstaller 在哪里搜索带有元组列表的任何包 datas=[('<path to the package>', '<name of the package>'), ...]
.
你的错误似乎来自于你的破折号所以像这样,这取决于你使用的破折号包在哪里(对我来说在 venv 中):
a = Analysis(['script.py'],
pathex=[],
binaries=[],
datas=[('D:\xxxxxx\venv\Lib\site-packages\dash', 'dash')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
如果你使用其他破折号包,如 dbc 或 plotly,我认为你会遇到与这些包相同的错误,因此你也必须将它们的路径添加到规范文件中。
我想使用 Dash 从 python 脚本制作一个单文件 exe。
我有一个使用烧瓶的类似应用程序,它可以工作。
使用 Dash 代替,当我 运行 生成的 exe 文件时,出现以下错误,我无法解决。
你能帮帮我吗?
我在 Temp 文件夹中遇到了完全相同的问题,我不知道具体原因。我不认为我找到了最好的解决方案,但我通过使用规范文件进行编译并将导致此错误的所有包(所有破折号包和 plotly)添加到 data
参数来解决它。
如 here 所述,您可以像 运行ning 的命令行指令一样为 运行 pyinstaller 创建一个规范文件:pyi-makespec options name.py [other scripts …]
,选项如 --onefile
。
它将创建一个带有 Analysis 构造函数的规范文件,您可以在其中告诉 pyinstaller 在哪里搜索带有元组列表的任何包 datas=[('<path to the package>', '<name of the package>'), ...]
.
你的错误似乎来自于你的破折号所以像这样,这取决于你使用的破折号包在哪里(对我来说在 venv 中):
a = Analysis(['script.py'],
pathex=[],
binaries=[],
datas=[('D:\xxxxxx\venv\Lib\site-packages\dash', 'dash')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
如果你使用其他破折号包,如 dbc 或 plotly,我认为你会遇到与这些包相同的错误,因此你也必须将它们的路径添加到规范文件中。