#python #windows #opengl #pyinstaller
#питон #Windows #opengl #pyinstaller
Вопрос:
При попытке запустить exe-файл, который я сделал с помощью pyinstaller, он не работает при импорте OpenGL с этой обратной связью:
(env) C:UsersmemyProjectgt;.distmyProjectmyProject.exe Traceback (most recent call last): File "main.py", line 6, in lt;modulegt; from igtools import IG File "lt;frozen importlib._bootstrapgt;", line 983, in _find_and_load File "lt;frozen importlib._bootstrapgt;", line 967, in _find_and_load_unlocked File "lt;frozen importlib._bootstrapgt;", line 677, in _load_unlocked File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module File "OpenGLGL__init__.py", line 3, in lt;modulegt; File "lt;frozen importlib._bootstrapgt;", line 983, in _find_and_load File "lt;frozen importlib._bootstrapgt;", line 967, in _find_and_load_unlocked File "lt;frozen importlib._bootstrapgt;", line 677, in _load_unlocked File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module File "OpenGLerror.py", line 12, in lt;modulegt; File "lt;frozen importlib._bootstrapgt;", line 983, in _find_and_load File "lt;frozen importlib._bootstrapgt;", line 967, in _find_and_load_unlocked File "lt;frozen importlib._bootstrapgt;", line 677, in _load_unlocked File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module File "OpenGLplatform__init__.py", line 36, in lt;modulegt; File "OpenGLplatform__init__.py", line 30, in _load TypeError: 'NoneType' object is not callable [38272] Failed to execute script 'main' due to unhandled exception!
Ответ №1:
Так что я не совсем уверен, в чем именно заключалась проблема. Похоже, это как-то связано с крючками pyinstaller, которые я не совсем понимаю, но я заставил его работать с этой конкретной комбинацией версий выпуска:
pyinstaller==4.0 pyinstaller-hooks-contrib==2020.9 PyOpenGL==3.1.5
Может быть, это будет полезно, если кто-нибудь еще столкнется с этим.
Комментарии:
1. Ваша версия PyInstaller слишком старая, пожалуйста, обновите ее до последней (4.7).
2. 4.7-это версия, которую я изначально использовал iirc. Возможно, мне следует попытаться воспроизвести эту ошибку с меньшим количеством кода и отправить проблему в pyinstaller.