cx_freeze - 导入错误:numpy.core.multiarray 无法导入



构建我的exe后,当我运行它时,我收到一个错误,说它无法导入numpy.core.multiarray。

我已经测试过的内容:

  • 已将 numpy 更新到最新版本
  • 检查我是否有多个版本的 numpy
  • 文件多数组位于构建/../numpy/core/multiarray
  • 如果我在控制台上运行python,我可以"从numpy.core导入多数组"没有任何问题

我使用的软件包:Easygui,Opencv2,pytesseract,os,pillow,正则表达式

我在 W3.6.1 上运行 python 10

这是我的 setup.py。

from cx_Freeze import setup, Executable
import os
os.environ['TCL_LIBRARY'] = r'C:UsersFarinhaAnaconda3tcltcl8.6'
os.environ['TK_LIBRARY'] = r'C:UsersFarinhaAnaconda3tcltk8.6'
includes      = []
include_files = [r"C:UsersFarinhaAnaconda3DLLstcl86t.dll", 
r"C:UsersFarinhaAnaconda3DLLstk86t.dll"]

setup(name='InstantScale',
version = '0.1',
description='Parse stuff',
options = {"build_exe": {"includes": includes, "include_files": include_files}},
executables = [Executable("main.py")])

以及运行蝙蝠暂停控制台时的错误

ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "C:UsersFarinhaAnaconda3libsite-packagescx_Freezeinitscripts__startup__.py", line 14, in run
module.run()
File "C:UsersFarinhaAnaconda3libsite-packagescx_FreezeinitscriptsConsole.py", line 26, in run
exec(code, m.__dict__)
File "main.py", line 2, in <module>
ImportError: numpy.core.multiarray failed to import

欢迎所有帮助,提前感谢

将 numpy 软件包直接复制到您的目录中。

然后添加以下行:

import numpy.core._methods 
import numpy.lib.format

这篇文章中的更多信息

我设法修复了它。

我手动将包添加到选项中。

includes      = []
include_files = [r"C:UsersFarinhaAnaconda3DLLstcl86t.dll", 
r"C:UsersFarinhaAnaconda3DLLstk86t.dll"]
packages = ["numpy"]
setup(name='InstantScale',
version = '0.1',
description='Parse stuff',
options = {"build_exe":{"includes": includes, "include_files": 
include_files, "packages":packages}}

就我而言,在 cxFreeze 选项中使用optimize=2时发生了错误。更多信息: https://github.com/numpy/numpy/issues/13248

setup(name='InstantScale',
version = '0.1',
description='Parse stuff',
options = {"build_exe": {"optimize": 1}},
executables = [Executable("main.py")])

相关内容

最新更新