У меня есть файл file.py, который создает графический интерфейс tkinter со следующими зависимостями:
из импорта tkinter * из tkinter импортировать ttk из окна сообщения импорта tkinter из диалога импорта файла tkinter импортировать нашпи как Нэш импортировать аксельрод как axl импортировать numpy как np импортировать предупреждения Я пытаюсь преобразовать его в файл exe с помощью pyinstaller, но он не работает по двум причинам, которые я сузил до строк import nashpy as nash и импортируют axelrod как axl.
Когда я пытаюсь преобразовать file.py или следующий testnash.py
# testnash.py импортировать нашпи как Нэш inp = input("Нажмите Enter") при использовании pyinstaller он выдает некоторые обычные результаты, которые я обычно вижу при использовании pyinstaller, но затем, ближе к концу, я получаю следующую (усеченную) ошибку:
(...) target_modules = self._safe_import_hook(*import_info, **kwargs) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anasis.py», строка 437, в _safe_import_hook return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, Edge_attr) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2048, в _safe_import_hook target_modules = self.import_hook( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1245, в import_hook субмодуль = self._safe_import_module(head, mname, субмодуль) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 484, в _safe_import_module return super()._safe_import_module(имя_базы_модуля, имя_модуля, родительский_пакет) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1792, в _safe_import_module self._process_imports (n) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2591, в _process_imports target_modules = self._safe_import_hook(*import_info, **kwargs) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anasis.py», строка 437, в _safe_import_hook return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, Edge_attr) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2048, в _safe_import_hook target_modules = self.import_hook( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1232, в import_hook target_package, target_module_partname = self._find_head_package( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1411, в _find_head_package target_package = self._safe_import_module( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 484, в _safe_import_module return super()._safe_import_module(имя_базы_модуля, имя_модуля, родительский_пакет) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1792, в _safe_import_module self._process_imports (n) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2591, в _process_imports target_modules = self._safe_import_hook(*import_info, **kwargs) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anasis.py», строка 437, в _safe_import_hook return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, Edge_attr) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2048, в _safe_import_hook target_modules = self.import_hook( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1245, в import_hook субмодуль = self._safe_import_module(head, mname, субмодуль) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 484, в _safe_import_module return super()._safe_import_module(имя_базы_модуля, имя_модуля, родительский_пакет) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1792, в _safe_import_module self._process_imports(n) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2591, в _process_imports target_modules = self._safe_import_hook(*import_info, **kwargs) Файл "C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py", строка 437, в _safe_import_hook return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, Edge_attr) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2048, в _safe_import_hook target_modules = self.import_hook( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1232, в import_hook target_package, target_module_partname = self._find_head_package( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1411, в _find_head_package target_package = self._safe_import_module( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 484, в _safe_import_module return super()._safe_import_module(имя_базы_модуля, имя_модуля, родительский_пакет) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1792, в _safe_import_module self._process_imports(n) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2591, в _process_imports target_modules = self._safe_import_hook(*import_info, **kwargs) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anasis.py», строка 437, в _safe_import_hook return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, Edge_attr) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2048, в _safe_import_hook target_modules = self.import_hook( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1245, в import_hook субмодуль = self._safe_import_module(head, mname, субмодуль) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 484, в _safe_import_module return super()._safe_import_module(имя_базы_модуля, имя_модуля, родительский_пакет) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1792, в _safe_import_module self._process_imports(n) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2591, в _process_imports target_modules = self._safe_import_hook(*import_info, **kwargs) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anasis.py», строка 437, в _safe_import_hook return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, Edge_attr) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2048, в _safe_import_hook target_modules = self.import_hook( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1232, в import_hook target_package, target_module_partname = self._find_head_package( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1411, в _find_head_package target_package = self._safe_import_module( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 484, в _safe_import_module return super()._safe_import_module(имя_базы_модуля, имя_модуля, родительский_пакет) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1792, в _safe_import_module self._process_imports(n) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2591, в _process_imports target_modules = self._safe_import_hook(*import_info, **kwargs) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anasis.py», строка 437, в _safe_import_hook return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, Edge_attr) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2048, в _safe_import_hook target_modules = self.import_hook( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1232, в import_hook target_package, target_module_partname = self._find_head_package( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1411, в _find_head_package target_package = self._safe_import_module( Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 484, в _safe_import_module return super()._safe_import_module(имя_базы_модуля, имя_модуля, родительский_пакет) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 1792, в _safe_import_module self._process_imports(n) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py», строка 2591, в _process_imports target_modules = self._safe_import_hook(*import_info, **kwargs) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anaанализ.py», строка 368, в _safe_import_hook исключенные_импорты = self._find_all_excluded_imports(source_module.identifier) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\anasis.py», строка 356, в _find_all_excluded_imports Excluded_imports.update(module_hook.excludedimports) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\imphook.py», строка 316, в __getattr__ self._load_hook_module() Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\dependent\imphook.py», строка 383, в _load_hook_module self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename) Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\compat.py», строка 577, в importlib_load_source mod_loader.exec_module(мод) Файл «», строка 850, в exec_module Файл «», строка 228, в _call_with_frames_removed Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\hooks\hook-matplotlib.py», строка 34, в если compat.is_win иookutils.check_requirement('matplotlib >= 3.7.0'): Файл «C:\Users\\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py», строка 414, в check_requirement return parsed_requirement.specifier.contains(версия, предварительные версии = True) Файл «C:\Users\\anaconda3\lib\site-packages\packaging\specifiers.py», строка 905, содержит элемент = Версия (элемент) Файл «C:\Users\\anaconda3\lib\site-packages\packaging\version.py», строка 196, в __init__ совпадение = self._regex.search(версия) TypeError: ожидаемая строка или байтовый объект Однако я не знаю, что с этим делать. Я попробовал установить auto-py-to-exe и преобразовать его таким образом, но результат тот же.
Когда я закомментирую import nashpy as nash и пытаюсь преобразовать file.py с помощью просто import axelrod as axl, pyinstaller, кажется, работает и создает file.exe, но когда я пытаюсь его запустить, я получаю эту ошибку ModuleNotFoundError

, хотя когда я запускаю file.py в VSCode, он отлично работает с axelrod.
Я видел эту страницу и эту страницу, на которую есть ссылка, чтобы убедиться, что все упаковано правильно. Я попробовал кое-что из перечисленного там, но безуспешно. Я пробовал использовать --onedir вместо --onefile. Я попробовал переустановить pyinstaller. Я пробовал запустить его в командной строке, а не в среде conda.
Я использую pyinstaller 6.4.0 и Python 3.9.18. Нужно ли мне попробовать другую версию pyinstaller? Если да, то как мне узнать какой именно? Моя программа обречена навсегда стать py-файлом?