ImportError:无法导入名称“_methods”
Posted
技术标签:
【中文标题】ImportError:无法导入名称“_methods”【英文标题】:ImportError:cannot import name '_methods' 【发布时间】:2017-06-14 15:31:29 【问题描述】:已经为我的 tkinter GUI 创建了一个可执行文件,尝试运行它时会显示以下错误: from.import_methods ImportError:cannot import name '_methods' 窗口上似乎有很多关于 numpy 的内容。不知道为什么会这样,因为我还没有在项目中使用 numpy。
我的 setup.py 代码是:
import sys
import os.path
from cx_Freeze import setup, Executable
#include_files = ['autorun.inf']
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')
base = None
if sys.platform == 'win32':
base = 'Win32GUI'
#os.environ['TCL_LIBRARY'] = r'C:\Users\DonikuY\AppData\Local\Programs\Python\Python36-32\tcl\tcl8.6'
#os.environ['TK_LIBRARY'] = r'C:\Users\DonikuY\AppData\Local\Programs\Python\Python36-32\tcl\tk8.6'
executables = [
Executable('VacuumPumpGUI.py', base=base)
]
options =
'build_exe':
'include_files':[
os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'),
os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'),
],
,
setup(name="VacuumPumpGUI",
version="0.1",
description="Vacuum pump serial GUI.",
options=options,
executables=executables
)
【问题讨论】:
请不要发布堆栈跟踪的屏幕截图。花点时间复制和粘贴并正确格式化。 嗯,最快的解决方案是卸载 numpy 看看是否能解决问题。然后您需要花时间阅读文档以确保您正确使用冻结。我自己没有使用 freeze ,但我认为 freeze 不应该对未导入的库做任何事情。 也看看这个帖子how-to-create-exe-file-in-python-using-cx-freeze。 谢谢,我会看看删除 numpy 和其他帖子并通知你。 您好,我已经删除了 numpy,但仍然无法正常工作。 matplotlib 库似乎存在问题,因为可执行文件在没有图表的情况下构建和运行良好。有什么想法吗? 【参考方案1】:这是 cx_freeze 中的 known issue。
作为一种解决方法,您可以将其包含在构建选项中:
options =
'build_exe':
'includes':['atexit', 'numpy.core._methods', 'numpy.lib.format'],
【讨论】:
以上是关于ImportError:无法导入名称“_methods”的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:无法导入名称“AFAVSignature”
ImportError:无法导入名称“评估”(来自意外导入评估)
Django 'ImportError: 无法导入名称 url'