我正在使用以下命令: 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位置:
请帮助。
答案 0 :(得分:0)
xml.etree.ElementTree是标准库的一部分。使用PyInstaller
编译为exe时,请尝试指定隐藏的导入-作为CLI参数或在spec文件中。阅读列出隐藏的导入内容部分here
它说:
当扩展模块使用Python / C API进行导入时,也会发生隐藏导入
我认为导入extract.py