我当前的项目路径如下所示:
测试项目\machine_learning\gui_iris_classifier
主文件,应该打包到一个.exe文件中,位于那里(gui.py
(,还有两个源文件,其中包含我编写的一些实用程序功能(iris_gui_v1.py
和irisclassifier.py
(
gui.py
包含从以下两个文件导入的内容:
from machine_learning.gui_iris_classifier.irisclassifier import IrisClassifier
from machine_learning.gui_iris_classifier.iris_gui_v1 import Ui_Dialog
还有更多从PyQt
和sys
进口:
import sys
from PyQt5.QtWidgets import QApplication, QDialog, QMessageBox
我正在使用pyinstaller v3.3.1
,Windows 10 64-bit
和Python 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