Я следовал этой статье , чтобы создать мой run.exe файл с помощью pyinstaller.Я получил свой исполняемый файл в папке dist, как и ожидалось, без каких-либо ошибок.Но когда я дважды щелкаю по exe-файлу, ничего не происходит.Когда я запускаю exe-файл из командной строки, я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "run.py", line 2, in <module>
File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module
exec(bytecode, module.__dict__)
File "site-packages\PySimpleGUI27\__init__.py", line 2, in <module>
File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module
exec(bytecode, module.__dict__)
File "site-packages\PySimpleGUI27\PySimpleGUI27.py", line 14, in <module>
File "site-packages\future\standard_library\__init__.py", line 459, in install_aliases
ImportError: No module named UserList
[16016] Failed to execute script run
Я не понимаю эту ошибку.У меня нет имени модуля Userlist в моем скрипте.Ниже приведен мой сценарий:
import PySimpleGUI27 as sg
import parse
layout = [
[sg.Text('A2L File', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('',key='_a2l_'), sg.FileBrowse(file_types=(("A2L File", "*.a2l"),))],
[sg.Text('Signals Lexicon', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('',key='_sigLex_'), sg.FileBrowse(file_types=(("Excel File", "*.xlsx"),))],
[sg.Text('Parameters Lexicon', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('',key='_parLex_'), sg.FileBrowse(file_types=(("Excel File", "*.xlsx"),))],
[sg.Text('Module Name', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('X',key='_module_'), sg.FolderBrowse()],
[sg.Submit(), sg.Cancel()],
[sg.Output(size=(60, 20))]
]
window = sg.Window('A2L Parser', default_element_size=(40, 1)).Layout(layout)
values_dict={}
while True:
button, values_dict = window.Read()
if button=="Cancel" or button is None:
break
elif button=='Submit' and (not any(value == '' for value in values_dict.values())):
parse.parser(values_dict['_a2l_'], values_dict['_sigLex_'], values_dict['_parLex_'],window)
else:
sg.Popup("Please select files")
window.Close()
Этот сценарий работает, когда я запускаю его из визуального кода, поэтому в сценарии нет ошибок.В этом скрипте я импортирую свой собственный скрипт parse .Может кто-нибудь объяснить, в чем проблема с exe-файлом?
Обновление : Я обнаружил, что мне придется добавить эти недостающие модули в мой скрипт.Но после добавления каждого модуля я получаю сообщение об ошибке другого отсутствующего модуля.Есть ли способ найти все недостающие модули за один раз?