Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Проблема компиляции кода с PyQt5 [RSS Feed]

#1 Окт. 9, 2021 12:56:26

HelpMe6
Зарегистрирован: 2021-10-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема компиляции кода с PyQt5

Здравствуйте. Есть программа на python с использованием библиотеки PyQt5 при попытке скомпилировать ее командой pyinstaller -F -w SL_lke2.1.py вылезает ошибка:

….
18705 INFO: Loading module hook ‘hook-matplotlib.backends.py’ from ‘c:\\users\\iru\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\PyInstaller\\hooks’…
Traceback (most recent call last):
File “<string>”, line 1, in <module>
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\matplotlib\__init__.py”, line 822, in <module>
rcParamsDefault = _rc_params_in_file(
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\matplotlib\__init__.py”, line 727, in _rc_params_in_file
with _open_file_or_url(fname) as fd:
File “c:\users\iru\appdata\local\programs\python\python39\lib\contextlib.py”, line 117, in __enter__
return next(self.gen)
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\matplotlib\__init__.py”, line 701, in _open_file_or_url
fname = os.path.expanduser(fname)
File “c:\users\iru\appdata\local\programs\python\python39\lib\ntpath.py”, line 293, in expanduser
path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not WindowsPath
19047 INFO: Loading module hook ‘hook-matplotlib.py’ from ‘c:\\users\\iru\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\PyInstaller\\hooks’…
Traceback (most recent call last):
File “<string>”, line 1, in <module>
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\matplotlib\__init__.py”, line 822, in <module>
rcParamsDefault = _rc_params_in_file(
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\matplotlib\__init__.py”, line 727, in _rc_params_in_file
with _open_file_or_url(fname) as fd:
File “c:\users\iru\appdata\local\programs\python\python39\lib\contextlib.py”, line 117, in __enter__
return next(self.gen)
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\matplotlib\__init__.py”, line 701, in _open_file_or_url
fname = os.path.expanduser(fname)
File “c:\users\iru\appdata\local\programs\python\python39\lib\ntpath.py”, line 293, in expanduser
path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not WindowsPath
Traceback (most recent call last):
File “c:\users\iru\appdata\local\programs\python\python39\lib\runpy.py”, line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File “c:\users\iru\appdata\local\programs\python\python39\lib\runpy.py”, line 87, in _run_code
exec(code, run_globals)
File “C:\Users\iru\AppData\Local\Programs\Python\Python39\Scripts\pyinstaller.exe\__main__.py”, line 7, in <module>
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\__main__.py”, line 126, in run
run_build(pyi_config, spec_file, **vars(args))
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\__main__.py”, line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\building\build_main.py”, line 815, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\building\build_main.py”, line 762, in build
exec(code, spec_namespace)
File “G:\PyCharm\Gui_Программы\Programms_Py\SAFTD\SL_lke2.1.spec”, line 7, in <module>
a = Analysis(,
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\building\build_main.py”, line 294, in __init__
self.__postinit__()
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\building\datastruct.py”, line 159, in __postinit__
self.assemble()
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\building\build_main.py”, line 473, in assemble
self.graph.process_post_graph_hooks(self)
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\depend\analysis.py”, line 373, in process_post_graph_hooks
module_hook.post_graph(analysis)
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\depend\imphook.py”, line 451, in post_graph
self._load_hook_module()
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\depend\imphook.py”, line 408, in _load_hook_module
self._hook_module = importlib_load_source(
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\compat.py”, line 632, in importlib_load_source
return mod_loader.load_module()
File “<frozen importlib._bootstrap_external>”, line 529, in _check_name_wrapper
File “<frozen importlib._bootstrap_external>”, line 1029, in load_module
File “<frozen importlib._bootstrap_external>”, line 854, in load_module
File “<frozen importlib._bootstrap>”, line 274, in _load_module_shim
File “<frozen importlib._bootstrap>”, line 711, in _load
File “<frozen importlib._bootstrap>”, line 680, in _load_unlocked
File “<frozen importlib._bootstrap_external>”, line 850, in exec_module
File “<frozen importlib._bootstrap>”, line 228, in _call_with_frames_removed
File “c:\users\iru\appdata\local\programs\python\python39\lib\site-packages\PyInstaller\hooks\hook-matplotlib.py”, line 17, in <module>
assert mpl_data_dir, “Failed to determine matplotlib's data directory!”
AssertionError: Failed to determine matplotlib's data directory!

Как это решить? Код логики и ui на github: https://github.com/Win322/Project_SAFTD
Из тех файлов нужны только SL_lke2.1.py и UI_lke2_1.py

Отредактировано HelpMe6 (Окт. 9, 2021 12:58:40)

Офлайн

#2 Окт. 9, 2021 14:49:54

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Проблема компиляции кода с PyQt5

Поздравляем! Вы присоединились к клубу несчастных людей пытающихся компилировать питон скрипты.
Остальные пользователи, отдающие себе отчет что плюсов от этого нет, а есть одни минусы, смотрят на вас с чувством глубокого сострадания.

Как это решить?
Да элементарно! не пытаться делать экзешник.

p.s.
Если вы хотели получать нативный код, то надо было выбирать другой инструмент C++ и Qt.



Отредактировано doza_and (Окт. 9, 2021 14:53:43)

Офлайн

#3 Окт. 9, 2021 15:06:29

HelpMe6
Зарегистрирован: 2021-10-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема компиляции кода с PyQt5

Спасибо за ваш остроумный ответ. Надеюсь вы научитесь не писать ерунду, а отвечать на вопрос.

Офлайн

#4 Окт. 9, 2021 23:19:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Проблема компиляции кода с PyQt5

HelpMe6
Надеюсь вы научитесь не писать ерунду
Сделай установщик своей программы, который ставит её в систему самым нормальным образом. Ты же никогда не видел Word или Excel одним exe-файлом? Потому что делать их одним exe-файлом просто глупо. Так же и сам питон ставится в систему - через установщик.



Офлайн

#5 Окт. 10, 2021 08:17:32

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Проблема компиляции кода с PyQt5

HelpMe6 такие ошибки вылазят досточно часто при “компилировании” пайинсталером или схФризи, особенно если человек не понимает как работает пайтон, как работает либа и как работает пайинсталлер. Потому что процесс сборки пайинсталлером ничего общего с компилированием не имеет.

Очевидно, единого решения нет. Иногда банально помогает установить более новую/старую версию либы/пайинсталера, иногда достаточно просто явно импортировать либу, иногда нужны неочевидные танцы с бубном описаные гденить в мануалах/форумах либы/пайинсталлера котороые никто не читает, иногда - воспользоваться другой программой(если пользуетесь пайинсталером попробовать фризи и наоборот).
Поскольку вас проблема с “компилированием” matplotlib, очевдно нужно искать ответы либо у на сайте/гите матплотлиба либо пайинсталлера: https://github.com/pyinstaller/pyinstaller/pull/5006/commits/a5c54f9dff5917c7eac44730c244f3e27b38bd16
Ну или первая же ссылка в гугеле по сути советует тоже самое что и на гитхабе: https://stackoverflow.com/questions/67345287/matplotlib-directory-not-found-while-using-pyinstaller-to-create-exe-from-py-fil



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Окт. 10, 2021 08:54:03)

Офлайн

  • Начало
  • » GUI
  • » Проблема компиляции кода с PyQt5[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version