我的主py文件工作正常,但是当我用cx_freeze冻结这个并且我尝试打开时,它会发生错误而无法打开。 它说:
这是我的setup.py:
import os
from cx_Freeze import setup, Executable
build_exe_options = {"packages":["lxml","gzip","requests"]}
setup( name = "name",
version = "0.1",
description = "description",
options = {"build_exe": build_exe_options},
executables = [Executable("file.py", icon=os.path.join("icon_64x64.ico"), base="Win32GUI")])
...
答案 0 :(得分:1)
这对我有用python 3.6:
build_exe_options = {"packages": ["os", "numpy"], "includes": ["numpy"]}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(name="Hello World",
version="0.1",
description="My GUI application!",
options={"build_exe": build_exe_options},
executables=[Executable("main.py", base=base)])
答案 1 :(得分:0)
我在使用Python 3.6.1和cx_Freeze 5.1.1时遇到了类似的问题。我的代码仅导入pandas,而后者又尝试导入numpy,但由于缺少依赖关系而导致失败。但是,由于我的代码不是直接尝试导入numpy,因此cx_Freeze不会通知我这种差异。
我在代码中强行插入import numpy
,然后cx_Freeze适当地通知我缺少的依赖项。对这些问题进行故障排除后,我从代码中删除了import numpy
,并且生成的exe正常运行。
也许在主体的最开始添加import numpy
可以使您看到缺少的内容吗?
答案 2 :(得分:0)
这将起作用:
在site-packages / numpy / core /中找到“ _methods”(在我的情况下为特定位置:C:\ ProgramFile \ Anaconda3 \ Lib \ site-packages \ numpy \ core),然后将其复制到build / exe.win32- 2.7 / lib / numpy / core /
现在运行,它将起作用。