目前我正面临着关于scipy和cx-Freeze的问题。
Windows 7 Enterprise (64-Bit);
Python 3.5.2|Anaconda 4.2.0 (64-bit);
scipy 0.18.1;
cx-Freeze 5.0.1;
我想将python脚本冻结为可执行文件。您可以在下面找到源代码和冻结脚本。
import scipy
if __name__ == '__main__':
print('Test dirstribution methods!')
这是main.py文件。
import sys
from cx_Freeze import *
packages = ['numpy']
excludes = ['tkinter']
distTest_Target = Executable(
script = "main.py",
base = "Console",
shortcutName="distTest",
targetName = "distTest.exe"
)
build_exe_options = {
"packages": packages,
"excludes":excludes
}
setup(name='distTest',
version='1.0.0',
description='distTest (64-bit)',
options = {"build_exe": build_exe_options},
executables=[distTest_Target]
)
构建过程执行没有错误,但如果我尝试启动exe,我会收到以下错误: Figure: Error during execution of exe
如果我尝试将'scipy'添加到像packages = ['numpy','scipy']
这样的包列表中,那么在构建过程中会出现另一个错误:Figure: scipy ImportError。
有人知道那里有什么问题吗?预先感谢您的帮助!
答案 0 :(得分:0)
安装最新版本的Anaconda(4.3.1)并在cx_freeze包中编辑hooks.py:
finder.IncludePackage("scipy.lib")
替换为:
finder.IncludePackage("scipy._lib")
解决了这个问题。