[devel] Обновление numpy и matplotlib
Антон Мидюков
midyukov-anton на ya.ru
Вс Апр 16 04:58:49 MSK 2017
14.04.2017 17:00, Ivan Zakharyaschev пишет:
> Здравствуйте!
>
> On Thu, 13 Apr 2017, Антон Мидюков wrote:
>
>> В задании 181544 обновил пакеты python-module-numpy и
>> python-module-matplotlib до актуальных версий. В пакетах были косяки,
>> которые постарался исправить. matplotlib был не доупакован, из-за
>> этого у меня не запускался Beremiz - свободный софт для
>> программирования ПЛК. Ну, а раз взялся чинить заодно и обновил :-)
>> Надеюсь никому ничего этим заданием не сломаю. Раньше среды
>> отправлять в Сизиф не буду. Так что пока жду замечания и предложения.
>
> Я озвучивал пожелание (в связи с проверкой, которую хочется внести и в
> policy) --
> https://lists.altlinux.org/pipermail/devel/2017-April/202544.html .
>
> Замечание сводится к тому, что вещи объявленные в Provides, не
> импортируются без ошибок. Возмножно, из-за того, что не хватает
> зависимостей (Requires). Возможно, есть смысл отпилить это в подпакет,
> если не хочется добвалять зависимсоти в главный пакет. Вот пример для
> двух объявленных модулей, когда пакет python3-module-matplotlib
> установлен:
>
> [builder на localhost .in]$ python3 -c 'import
> matplotlib.backends.backend_cairo'
> Traceback (most recent call last):
> File
> "/usr/lib64/python3/site-packages/matplotlib/backends/backend_cairo.py",
> line 33, in <module>
> import cairocffi as cairo
> ImportError: No module named 'cairocffi'
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
> File
> "/usr/lib64/python3/site-packages/matplotlib/backends/backend_cairo.py",
> line 36, in <module>
> import cairo
> ImportError: No module named 'cairo'
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
> File "<string>", line 1, in <module>
> File
> "/usr/lib64/python3/site-packages/matplotlib/backends/backend_cairo.py",
> line 38, in <module>
> raise ImportError("Cairo backend requires that cairocffi or
> pycairo is installed.")
> ImportError: Cairo backend requires that cairocffi or pycairo is
> installed.
> [builder на localhost .in]$ python3 -c 'import matplotlib.tri'
> Traceback (most recent call last):
> File "<string>", line 1, in <module>
> File "/usr/lib64/python3/site-packages/matplotlib/tri/__init__.py",
> line 10, in <module>
> from .tricontour import *
> File
> "/usr/lib64/python3/site-packages/matplotlib/tri/tricontour.py", line
> 6, in <module>
> from matplotlib.contour import ContourSet
> File "/usr/lib64/python3/site-packages/matplotlib/contour.py", line
> 23, in <module>
> import matplotlib.text as text
> File "/usr/lib64/python3/site-packages/matplotlib/text.py", line 33,
> in <module>
> from matplotlib.backend_bases import RendererBase
> File "/usr/lib64/python3/site-packages/matplotlib/backend_bases.py",
> line 63, in <module>
> import matplotlib.textpath as textpath
> File "/usr/lib64/python3/site-packages/matplotlib/textpath.py", line
> 20, in <module>
> from matplotlib.mathtext import MathTextParser
> File "/usr/lib64/python3/site-packages/matplotlib/mathtext.py", line
> 23, in <module>
> from six import chr
> ImportError: cannot import name 'chr'
> [builder на localhost .in]$
ImportError: cannot import name 'chr' у меня воспроизвелась. В исходнике
/usr/lib64/python3/site-packages/matplotlib/mathtext.py 23 строчка
выглядит так:
from six import unichr
А в итоговом python3-module:
from six import chr
А виноват в этом скрипт конвертации исходников на python2 в python3 в спеке:
find ./ -type f -name '*.py' -exec 2to3 -w -n '{}' + ||:
Получается, надо либо отключать эту строку в спеке, либо вводить такую
же строчку в спеке python-module-six. Как мне кажется, первое решение
правильное, так как в других дистрах скрипты пакета matplotlib не
конвертируют.
Спасибо, что обратили на эту проблему моё внимание, проверю все
провайдесы пакетов в задании.
Но у меня есть вопрос по пакету python-module-six. Alexey Shabalin уже
добавлял этому пакеты провайдесы. Я обнаружил, что добавил он не все
провайдесы, которые предоставляет этот пакет, и соответственно их
добавил. Так вот, у меня вопрос, почему эти провайдесы у пакета не
находятся? Я так понял, только потому, что все эти python субмодули
предоставляются одним файлом six.py. Все эти субмодули объявляются
внутри этого скрипта. Т.е. скрипт поиска провайдесов такого рода
провайдесы не приспособлен находить?
>
> Как я делал проверку:
>
> $ apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf
> rpm [alt] file:/ALT/Sisyphus x86_64 classic
> rpm [alt] file:/ALT/Sisyphus noarch classic
> rpm http://git.altlinux.org repo/181255/x86_64 task
> $ apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test
> 181544 rpm-build-python3 python3-module-matplotlib
>
> $ hsh-shell --mount=/proc,/dev/pts
> [builder на localhost .in]$ rpm -q python3-module-matplotlib --lastchange
> * Wed Apr 12 2017 Anton Midyukov <antohami на altlinux.org> 2.0.0-alt1
> - New version 2.0.0
> [builder на localhost .in]$
> /usr/lib/rpm/check-python3-provs-importable.sh
> python3-module-matplotlib; echo $?
> backend_agg
> backend_cairo
> matplotlib.externals.six.moves
> matplotlib.externals.six.moves.urllib.parse
> matplotlib.externals.six.moves.urllib.request
> matplotlib.axes
> matplotlib.axes._axes
> matplotlib.axes._base
> matplotlib.axes._subplots
> matplotlib.axis
> matplotlib.backend_bases
> matplotlib.backends.backend_agg
> matplotlib.backends.backend_cairo
> matplotlib.backends.backend_mixed
> matplotlib.backends.backend_nbagg
> matplotlib.backends.backend_pdf
> matplotlib.backends.backend_pgf
> matplotlib.backends.backend_ps
> matplotlib.backends.backend_svg
> matplotlib.backends.backend_template
> matplotlib.backends.backend_webagg
> matplotlib.backends.backend_webagg_core
> matplotlib.colorbar
> matplotlib.contour
> matplotlib.figure
> matplotlib.legend
> matplotlib.mathtext
> matplotlib.offsetbox
> matplotlib.patheffects
> matplotlib.projections
> matplotlib.projections.geo
> matplotlib.projections.polar
> matplotlib.pylab
> matplotlib.pyplot
> matplotlib.quiver
> matplotlib.table
> matplotlib.text
> matplotlib.textpath
> matplotlib.tri
> matplotlib.tri.triangulation
> matplotlib.tri.tricontour
> matplotlib.tri.trifinder
> matplotlib.tri.triinterpolate
> matplotlib.tri.tripcolor
> matplotlib.tri.triplot
> matplotlib.tri.trirefine
> matplotlib.tri.tritools
> matplotlib.type1font
> pylab
> 123
> [builder на localhost .in]$
>
>
>
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
--
С уважением Антон Мидюков <antohami на altlinux.org>
Подробная информация о списке рассылки Devel