Summary: | Не работает импорт большей части модулей, предоставляемых в качестве provides | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Антон Мидюков <antohami> | ||||
Component: | python3-module-OpenGL | Assignee: | Антон Мидюков <antohami> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P3 | CC: | antohami, cas, cow, evg, george, grenka, imz, kotopesutility, lav, nbr, qa_viy, rider, sem, shaba, sin, slev, toni, vitty, viy | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Проверил в чистом 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 |
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