pyInstaller 不会在自己的包路径中导入模块



我当前的项目路径如下所示:

测试项目\machine_learning\gui_iris_classifier

主文件,应该打包到一个.exe文件中,位于那里(gui.py(,还有两个源文件,其中包含我编写的一些实用程序功能(iris_gui_v1.pyirisclassifier.py(

gui.py包含从以下两个文件导入的内容:

from machine_learning.gui_iris_classifier.irisclassifier import IrisClassifier
from machine_learning.gui_iris_classifier.iris_gui_v1 import Ui_Dialog

还有更多从PyQtsys进口:

import sys
from PyQt5.QtWidgets import QApplication, QDialog, QMessageBox

我正在使用pyinstaller v3.3.1Windows 10 64-bitPython 3.6.5 Anaconda

这是我用于pyinstaller的命令:

pyinstaller --onefile --hidden-import PyQt5.sip --hidden-import machine_learning.gui_iris_classifier.irisclassifier gui.py

当我在我的项目路径中时(TestProjectmachine_learninggui_iris_classifier>(。

warngui.txt包含以下两条错误消息:

缺少名为"machine_learning.GUI_IRIS_classifier"的模块 - 已导入 由 C:\Users**\PycharmProjects\TestProject\machine_learning\gui_iris_classifier\gui.py

缺少名为 machine_learning 的模块 - 导入者 C:\Users**\PycharmProjects\TestProject\machine_learning\gui_iris_classifier\gui.py

如果我尝试执行生成的.exe文件,则会收到以下错误消息:

回溯(最近一次调用(:

文件"gui.py",第 3 行

从 machine_learning.gui_iris_classifier.irisclassifier import IrisClassifier

ModuleNotFoundError: 没有名为"machine_learning"的模块

[5648] 无法执行脚本 GUI

我不明白为什么pyInstaller找不到该模块,即使它位于gui.py所在的同一文件夹中?

我该如何解决这个问题?

> 将模块gui.py移动到文件夹TestProject

并在其中执行:

pyinstaller --onefile --noconsole gui.py

最新更新