Pyinstaller“导入错误:没有名为xml.etree的模块”

时间:2019-08-21 07:22:17

标签: python xml importerror

我正在使用以下命令: pyinstaller --onefile fileslook.py

这是我的 fileslook.py

的导入
import os
import sys
from importlib.machinery import SourceFileLoader
sys.path.append(r"Z:\hi1\hi2\my_folder")
base_update = SourceFileLoader("extract", r"Z:\hi1\hi2\my_folder\Soft_python\extract.py").load_module()

导入我的 extract.py

import parseFunction as scan_rfid

导入我的 parseFunction 内部:

import xml.etree.ElementTree as open_xml
from openpyxl import Workbook
from openpyxl import load_workbook

执行.exe时,它将返回以下错误:

  

将parseFunction导入为scan_rfid

     

文件“ Z:\ hi1 \ hi2 \ my_folder \ Soft_python \ parseFunction.py”,第1行,位于“ <'模块'>”中   导入xml.etree.ElementTree作为open_xml

     

ImportError:没有名为“ xml.etree”的模块

使用PyCharm和虚拟环境执行fileslook.py时,我的软件可以正常工作。

我在python安装中寻找un etree.py文件时发现的唯一地方是: etree.py位置:
etree.py location

请帮助。

1 个答案:

答案 0 :(得分:0)

xml.etree.ElementTree是标准库的一部分。使用PyInstaller编译为exe时,请尝试指定隐藏的导入-作为CLI参数或在spec文件中。阅读列出隐藏的导入内容部分here

它说:

  

当扩展模块使用Python / C API进行导入时,也会发生隐藏导入

我认为导入extract.py

的方式就是这样