[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