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

时间:2018-08-08 12:48:04

标签: python pyqt pyinstaller

我当前的项目路径如下:

  

TestProject \ machine_learning \ gui_iris_classifier

应该放在一个.exe文件中的主文件位于(gui.py)那里,还有另外两个带有我编写的实用程序功能的源文件(iris_gui_v1.py和{{ 1}})

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.1Windows 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 )中。

TestProject\machine_learning\gui_iris_classifier>包含以下两条错误消息:

  

缺少名为“ 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导入IrisClassifier

     

ModuleNotFoundError:没有名为“ machine_learning”的模块

     

[5648]无法执行脚本gui

我不明白为什么warngui.txt即使在同一文件夹pyInstaller中也找不到模块?

我该如何解决?

1 个答案:

答案 0 :(得分:1)

将模块gui.py移至文件夹TestProject

并在其中执行:

pyinstaller --onefile --noconsole gui.py