Pyinstaller 'модуль не найден' в моем пользовательском модуле - PullRequest
0 голосов
/ 10 января 2020

Я использую pyinstaller, чтобы попытаться создать исполняемый файл. Структура моего проекта такова, что у меня около 5-6 пакетов, которые включены в основной проект, и основной проект был написан с файлом __main__.py, поэтому его можно было назвать модулем с python -m module. Чтобы это работало с pyinstaller, я написал очень маленькую оболочку, помещенную в каталог над модулем, а именно:

import runpy

def main():
    module_name = 'myModule'
    runpy.run_module(module_name, run_name='__main__')

if __name__=="__main__":
    main()

Я также разрабатываю в среде anaconda, и каждый пакет компилируется в модуль, который затем включается в среду и включается в основной проект. Когда я запускаю эту оболочку в Anaconda, приложение открывается. Когда я создаю исполняемый pyinstaller, он говорит мне «нет модуля с именем myModule».

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

|containing folder/
|
|-- package1/
|-- package2/
|  ...
|-- package6/
|
|-- main_application/
|   |-- src/
|   |   |-- /myModule   <--- main project module src here
|   |   |   |-- __main__.py
|   |   |   |
|   |   |-- run.py      <--- wrapper file that runs everything
...