pyinstaller отказывается генерировать .exe из-за классов данных

Я использую классы данных, все работает нормально при отладке, но при создании .exe с помощью pyinstaller у меня всегда возникает ошибка рекурсии. Я попытался удалить pyinstaller и переустановить последнюю версию.

Теперь pyinstaller отказывается устанавливать:

attributeError: объект типа «Callable» не имеет атрибута «_abc_registry».

У кого-нибудь есть такая же проблема?


person s_simmou    schedule 19.08.2020    source источник
comment
Какую команду вы используете?   -  person Charalamm    schedule 19.08.2020
comment
чтобы переустановить pyinstaller, я использую pip   -  person s_simmou    schedule 19.08.2020
comment
Я имею в виду команду для создания exe   -  person Charalamm    schedule 19.08.2020
comment
pyinstaller --onedir --name myapp myapp.py   -  person s_simmou    schedule 19.08.2020
comment
Какую версию Python и pip вы используете?   -  person Charalamm    schedule 19.08.2020
comment
Попробуйте удалить классы данных, а затем установить pyinstaller. Кажется, что классы данных каким-то образом вмешиваются в процесс травления, поскольку вы можете увидеть здесь и здесь. Затем переустановите и повторите попытку. Пожалуйста, дайте мне знать, сработало ли это   -  person Charalamm    schedule 19.08.2020
comment
Это сработало. Я обновил python до 3.8 и переустановил все пакеты, без проблем сгенерировал .exe :) Спасибо!   -  person s_simmou    schedule 20.08.2020
comment
Я напишу решение для дальнейшего использования в сообществе. Примите, если это сработало для вас, или просто напишите свое решение :)   -  person Charalamm    schedule 20.08.2020


Ответы (1)


Удалить dataclasses Затем установить pyinstaller Затем переустановить dataclasses

Кажется, что каким-то образом dataclasses вмешивается в травление, поскольку вы можете видеть здесь и здесь. То же самое происходит с пакетом с именем typing.

Изменить: как упоминал s_simmou, может потребоваться обновление до Python 3.8 или новее.

person Charalamm    schedule 20.08.2020
comment
Удаленные классы данных, а затем переустановленные; То же самое и с набором текста, но это не решение. - person Igor Micev; 28.12.2020
comment
@ Игорь Мичев, ты пользуешься пандами? - person Charalamm; 29.12.2020
comment
Да, пользуюсь пандами. Однако моя проблема возникает при работе с классами и наследованием и не связана с пандами. - person Igor Micev; 30.12.2020
comment
это ответ на вопрос, как переустановить pyinstaller. это не для решения проблем во время создания exe. в любом случае, вероятно, ваша проблема не имеет ничего общего с пандами, однако последняя версия pandas не работает с pyinstaller. Раньше мне всегда приходилось понижать версию pandas, прежде чем создавать exe. это могло быть связано в конце концов. я упомянул только потому, что это обычная проблема - person Charalamm; 30.12.2020