我在冻结我的程序时遇到问题。我把它缩小到了scipy模块。我试图冻结的porgramm是:
from scipy import signal
signal.hann(1000)
我的设置脚本是:
import sys
from cx_Freeze import setup, Executable
build_exe_options = {}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "Some name",
version = "1.0",
author="My name",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("Script_Name.py", base=base)])
# ^CHANGE THIS NAME!!!
这是picture of the error message。我也尝试在设置文件中包含scipy.signal
build_exe_options = {"includes":"scipy.signal"}
但它没有任何好处。请帮帮我。
答案 0 :(得分:8)
我有一个类似的问题,可以通过确保:
来解决1构建目录包含一个名为_ufunc.pyd的文件(而不是如上所述的scipy.special._ufuncs.pyd)。您可以通过指定build_exe_options:
来实现此目的build_exe_options = { 'packages': ['scipy'],
"include_files": [('path2python\\Lib\\site-packages\\scipy\\special\\_ufuncs.pyd','_ufuncs.pyd')]}
2确保ufunc.pyd使用的所有dll也在build目录中。在我的情况下,libifcoremd.dll和libmmd.dll失败了。您可以使用dependencywalker
进行检查我希望这可以帮助你。