pyinstaller дает мне «Нет модуля с именем «мой модуль»

#python-3.x #pyqt5 #pyinstaller

Вопрос:

Я написал код с PyQt5 и пытаюсь создать исполняемый файл, чтобы открыть его на другом компьютере.

Я использую Python 3.9.7 и автоматическое преобразование в exe

Глава моей main.py выглядит так:

 #!/usr/bin/python # -*- coding: utf-8 -*-  import os import sys  from functools import partial import entries  import database_operation import extended_combobox import login import message_box  from PyQt5 import QtGui from PyQt5 import QtCore from PyQt5.QtWidgets import QMainWindow, QFileDialog, QMessageBox from PyQt5.QtWidgets import QApplication  from PyQt5.uic import loadUiType  

Моя иерархия папок выглядит следующим образом:

 root |-main.py |-entries.py |-database_operation.py |-extended_combobox.py |-login.py |-message_box.py  

Командная строка из auto-py-to-exe выглядит следующим образом

 pyinstaller --noconfirm --onefile --console "path/to/my/file/main.py"  

Поэтому при попытке выполнить main.exe, У меня есть эта ошибка

 C:UsersAdmingt;C:UsersAdminoutputmain.exe Traceback (most recent call last):  File "foldermain.py", line 8, in lt;modulegt; ModuleNotFoundError: No module named 'entries' [11892] Failed to execute script 'main' due to unhandled exception!  

Что я делаю не так?

Комментарии:

1. Находятся ли оба файла в одном и том же месте? main.exe это просто main.py замаскировано, поэтому для этого нужны все модули, которые вы импортировали. операционная система, система и другие встроенные модули будут включены в exe, но пользовательские модули не будут включены. Вам необходимо вручную переместить дополнительные зависимости и исполняемый файл в один и тот же каталог.

2. Я понял это, мне пришлось добавить каталог в свою команду pyinstaller -p DIR , чтобы она учитывала другие модули, которые я сделал.