Created attachment 7360 [details] Скрипты проверки импорта провайдесов python 2 и 3 Я не буду приводить весь список, это 2009 не импортируемых модулей, представленных, как provides. Вот пример неудачного импорта: import OpenGL.platform.darwin Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3/site-packages/OpenGL/platform/__init__.py", line 35, in <module> _load() File "/usr/lib/python3/site-packages/OpenGL/platform/__init__.py", line 26, in _load plugin_class = plugin.load() File "/usr/lib/python3/site-packages/OpenGL/plugins.py", line 16, in load return importByName( self.import_path ) File "/usr/lib/python3/site-packages/OpenGL/plugins.py", line 38, in importByName module = __import__( ".".join(moduleName), {}, {}, moduleName) File "/usr/lib/python3/site-packages/OpenGL/platform/glx.py", line 4, in <module> from OpenGL.platform import baseplatform, ctypesloader File "/usr/lib/python3/site-packages/OpenGL/platform/baseplatform.py", line 354, in <module> class _NullFunctionPointer( object ): File "/usr/lib/python3/site-packages/OpenGL/platform/baseplatform.py", line 378, in _NullFunctionPointer __bool__ = __nonzero__ NameError: name '__nonzero__' is not defined В тоже время у пакета python-module-OpenGL таких не рабочих импортов насчиталось 444. Правда не в чистом hasher проверял. Проверял сценариями от imz@, во вложении. Конкретно мне очень нужны работающие импорты модулей OpenGL.GL, OpenGL.platform для новой версии pyCAM. Возможно стоит попробовать обновить пакет до версии 3.3.1a1
Проверил в чистом hasher. У python-module-OpenGL 2007 неработающих provides, но все они ссылаются на то, что не может быть загружен модуль, например, так: import OpenGL.platform.baseplatform Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/site-packages/OpenGL/platform/__init__.py", line 35, in <module> _load() File "/usr/lib/python2.7/site-packages/OpenGL/platform/__init__.py", line 32, in _load plugin.install(globals()) File "/usr/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 92, in install namespace[ name ] = getattr(self,name,None) File "/usr/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 14, in __get__ value = self.fget( obj ) File "/usr/lib/python2.7/site-packages/OpenGL/platform/glx.py", line 96, in GetCurrentContext return self.GL.glXGetCurrentContext File "/usr/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 14, in __get__ value = self.fget( obj ) File "/usr/lib/python2.7/site-packages/OpenGL/platform/glx.py", line 20, in GL raise ImportError("Unable to load OpenGL library", *err.args) ImportError: ('Unable to load OpenGL library', 'GL: cannot open shared object file: No such file or directory', 'GL', None) А у python3-module-OpenGL все ошибки касаются языка, например, вот такая ошибка: import OpenGL.constant Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3/site-packages/OpenGL/constant.py", line 3, in <module> from OpenGL._bytes import bytes,str,as_8_bit, int, integer_types, maxsize ImportError: cannot import name 'int' Я так понимаю, что текущая версия python3-module-OpenGL вообще не работает, так как python3 не поддерживается (или его текущая версия). Соответственно, пакет нужно обновлять. Затем нужно определиться каких зависимостей не хватает пакетам python3-module-OpenGL и python-module-OpenGL.
Проблема вызвана преобразованием py2->py3. Но без этого преобразования python3-module не проходит проверку синтаксиса. Помогает обновление до 3.3.1a1. Но тесты в новой версии без этого преобразования также не проходят проверку синтаксиса. Если тесты после этого преобразования не будут работать, уберу их для python3 совсем. Беру исправление бага на себя. А недостающими зависимостями оказались пакеты mesa, libGL и компания.
python-module-OpenGL-3.1.1a1-alt1.S1 -> sisyphus: Sat Jan 27 2018 Anton Midyukov <antohami@altlinux> 3.1.1a1-alt1.S1 - New version 3.1.1a1 (Closes: 34485) - New subpackages python-module-tk and python3-module-tk