cx_freeze无法导入numpy

时间:2017-01-26 23:42:42

标签: python python-3.x numpy pyqt cx-freeze

我的主py文件工作正常,但是当我用cx_freeze冻结这个并且我尝试打开时,它会发生错误而无法打开。 它说: enter image description here

这是我的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")])

...

3 个答案:

答案 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 /

现在运行,它将起作用。