From: Ivan Zakharyaschev <imz@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] Обновление numpy и matplotlib Date: Sun, 16 Apr 2017 10:01:07 +0300 (MSK) Message-ID: <alpine.LFD.2.20.1704160938430.1081@imap.altlinux.org> (raw) In-Reply-To: <ffa18671-6dcd-65ca-f4a0-ca3aafe596a7@ya.ru> [-- Attachment #1: Type: text/plain, Size: 6787 bytes --] On Sun, 16 Apr 2017, Антон Мидюков wrote: > 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 . >> [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 не > конвертируют. Да, не применять больше 2to3 -- конечно, желательное решение. Скорее всего, большинство проектов уже в upstream адаптировались к Python3 и 2to3 ненужное насилие над их кодом. А применять его к six было бы совсем странно, потому что six -- это специальный API для совместимости между разными версиями, насколько я понял, и, возможно, для удобства программирования. Там и так всё уже должно быть предусмотрено в коде. > Спасибо, что обратили на эту проблему моё внимание, проверю все провайдесы > пакетов в задании. > > Но у меня есть вопрос по пакету python-module-six. Alexey Shabalin уже > добавлял этому пакеты провайдесы. Я обнаружил, что добавил он не все > провайдесы, которые предоставляет этот пакет, и соответственно их добавил. Да, это только пойдёт пакету и репозиторию Sisyphus на пользу. (Но после добавления Provides нужно себя автоматически проверять на импортируемость их таким образом, как в моём скрипте.) > Так вот, у меня вопрос, почему эти провайдесы у пакета не находятся? Я так > понял, только потому, что все эти python субмодули предоставляются одним > файлом six.py. Все эти субмодули объявляются внутри этого скрипта. Т.е. > скрипт поиска провайдесов такого рода провайдесы не приспособлен находить? Именно так, да. При желании можно написать автоматический генератор Provides специально для six. В каком-то смысле, это удобнее, чем выписывать их вручную, но в это надо вложить свой труд, и неизвестно, сколько времени это займёт. Это только приветствуется. Тут я бы ещё обратил внимание на то, что аналогичные Provides как-то должны ещё появляться в пакете с matplotlib, можно было бы покрыть и эти случаи автоматическим генератором тоже: matplotlib.externals.six.moves matplotlib.externals.six.moves.urllib.parse matplotlib.externals.six.moves.urllib.request А ещё потом можно будет отправить на повторную сборку обновлённые пакеты, которым их не хватило -- https://www.altlinux.org/Python3/UNMETS#six..2A_.2814.29 . >> Как я делал проверку: >> >> $ 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]$ -- Best regards, Ivan
next prev parent reply other threads:[~2017-04-16 7:01 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-04-13 14:00 Антон Мидюков 2017-04-14 10:00 ` Ivan Zakharyaschev 2017-04-16 1:58 ` Антон Мидюков 2017-04-16 7:01 ` Ivan Zakharyaschev [this message] 2017-04-16 7:48 ` Антон Мидюков 2017-04-16 8:30 ` Ivan Zakharyaschev 2017-04-16 8:43 ` Ivan Zakharyaschev 2017-04-16 13:32 ` Vladimir D. Seleznev 2017-04-16 14:49 ` Ivan Zakharyaschev 2017-04-16 15:26 ` Антон Мидюков 2017-04-16 16:42 ` Yuri Sedunov 2017-04-16 16:46 ` Ivan Zakharyaschev 2017-04-16 16:50 ` Dmitry V. Levin 2017-04-17 1:35 ` Антон Мидюков 2017-04-16 16:55 ` Ivan Zakharyaschev 2017-04-17 1:39 ` Антон Мидюков 2017-04-17 8:13 ` Ivan Zakharyaschev 2017-04-17 8:14 ` Ivan Zakharyaschev 2017-04-17 8:49 ` Антон Мидюков 2017-04-17 8:58 ` Ivan Zakharyaschev 2017-04-17 9:00 ` Антон Мидюков 2017-04-17 9:12 ` Ivan Zakharyaschev 2017-04-28 12:31 ` Антон Мидюков 2017-04-14 15:13 ` Michael Shigorin 2017-04-14 16:32 ` Ivan Zakharyaschev 2017-04-14 17:03 ` Michael Shigorin 2017-04-14 17:23 ` Ivan Zakharyaschev 2017-04-14 20:31 ` Ivan Zakharyaschev
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=alpine.LFD.2.20.1704160938430.1081@imap.altlinux.org \ --to=imz@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git