Bug 34485 - Не работает импорт большей части модулей, предоставляемых в качестве provides
: Не работает импорт большей части модулей, предоставляемых в качестве provides
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/python3-module-OpenGL)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2018-01-27 06:15 by
Modified: 2018-01-28 18:51 (History)


Attachments
Скрипты проверки импорта провайдесов python 2 и 3 (323 bytes, application/gzip)
2018-01-27 06:15, Антон Мидюков
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2018-01-27 06:15:16
Created an attachment (id=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
------- Comment #1 From 2018-01-27 09:24:18 -------
Проверил в чистом 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.
------- Comment #2 From 2018-01-27 18:37:03 -------
Проблема вызвана преобразованием py2->py3. Но без этого преобразования
python3-module не проходит проверку синтаксиса. Помогает обновление до 3.3.1a1.
Но тесты в новой версии без этого преобразования также не проходят проверку
синтаксиса. Если тесты после этого преобразования не будут работать, уберу их
для python3 совсем.

Беру исправление бага на себя.

А недостающими зависимостями оказались пакеты mesa, libGL и компания.
------- Comment #3 From 2018-01-28 18:51:11 -------
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