我正在尝试使用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']}
我找不到文件。但即使只是用该名称创建一个空文件也有帮助