FileNotFoundError: scipy.libs



我正在尝试使用cx_Freeze建立一个exe文件。

但是当我运行结果文件时,我得到一个错误:

FileNotFoundError: . . 制造 exe.win - amd64 - 3.8 lib scipy.libs

请告诉我如何解决这个问题?

我运行以下代码:

from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["torch", 'tensorflow']}
target = Executable(
script='sub.py'
)
setup(
name='my',
options={'build_exe': build_exe_options},
executables=[target]
)

我有这个确切的问题,这只是一个短期的修复,但如果你搜索'scipy '。在你的python安装位置'site-packages'文件夹(或虚拟环境,如果你使用一个),并复制/粘贴到Libs文件夹在你的构建应该解决这个问题。

如果我遇到根本原因和更永久的解决方案,我会编辑我的答案…

希望这对你有帮助!

可以使用build_exe命令中的include_files选项。根据cx_Freeze文档,您可以使用include_files列表中的元组(source, destination)来让cx_Freeze将文件复制到构建目录中的特定目标:

此列表将包含源和目标的字符串或二元组;源文件可以是一个文件,也可以是一个目录(在这种情况下,除了.svn和CVS目录外,树被复制);目标不能是绝对路径

因此,尝试将以下行添加到setup.py文件中:
import os
import scipy
scipy_libs_source = os.path.join(os.path.dirname(os.path.dirname(scipy.__file__)), 'scipy.libs')
scipy_libs_destination = os.path.join('lib', 'scipy.libs')
include_files = [(scipy_libs_source, scipy_libs_destination)]
build_exe_options = {'include_files': include_files,
'packages': ['torch', 'tensorflow']}

我找不到文件。但即使只是用该名称创建一个空文件也有帮助

相关内容

  • 没有找到相关文章

最新更新