[Buildroot] [PATCH 1/2] python-flask: bump to version 0.12
Lionel Flandrin
lionel at svkt.org
Wed Jan 25 13:02:41 UTC 2017
On Wed, Jan 25, 2017 at 01:52:38PM +0100, Yegor Yefremov wrote:
> On Wed, Jan 25, 2017 at 1:16 PM, Lionel Flandrin <lionel at svkt.org> wrote:
> > On Wed, Jan 25, 2017 at 11:24:44AM +0100, Yegor Yefremov wrote:
> >> On Wed, Jan 25, 2017 at 11:22 AM, Lionel Flandrin <lionel at svkt.org> wrote:
> >> > On Wed, Jan 25, 2017 at 11:11:43AM +0100, Yegor Yefremov wrote:
> >> >> On Wed, Jan 25, 2017 at 10:58 AM, Lionel Flandrin <lflandrin at ereca.fr> wrote:
> >> >> > On Wed, Jan 25, 2017 at 10:46:03AM +0100, Yegor Yefremov wrote:
> >> >> >> On Wed, Jan 25, 2017 at 10:18 AM, Lionel Flandrin <lionel at svkt.org> wrote:
> >> >> >> > On Wed, Jan 25, 2017 at 10:09:42AM +0100, Yegor Yefremov wrote:
> >> >> >> >> On Wed, Jan 25, 2017 at 10:01 AM, Lionel Flandrin <lionel at svkt.org> wrote:
> >> >> >> >> > Signed-off-by: Lionel Flandrin <lionel at svkt.org>
> >> >> >> >>
> >> >> >> >> Reviewed-by: Yegor Yefremov <yegorslists at googlemail.com>
> >> >> >> >>
> >> >> >> >> Care to update jinja as well https://github.com/pallets/jinja/releases
> >> >> >> >>
> >> >> >> >> Yegor
> >> >> >> >
> >> >> >> > I tried to do so but I got a nasty error:
> >> >> >> >
> >> >> >> > Traceback (most recent call last):
> >> >> >> > File "/home/lionel/src/ambix/buildroot/output/host/usr/lib/python3.5/py_compile.py", line 125, in compile
> >> >> >> > _optimize=optimize)
> >> >> >> > File "<frozen importlib._bootstrap_external>", line 700, in source_to_code
> >> >> >> > File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
> >> >> >> > File "/home/lionel/src/ambix/buildroot/output/target/usr/lib/python3.5/site-packages/jinja2/asyncfilters.py", line 24
> >> >> >> > SyntaxError: 'yield' inside async function
> >> >> >> >
> >> >> >> > I asked on IRC and I've been told that:
> >> >> >> >
> >> >> >> > < mitsuhiko> simias: this is not a problem with jinja
> >> >> >> > < mitsuhiko> it's a limitation in whatever build tool you use
> >> >> >> > < mitsuhiko> pip deals with that
> >> >> >> > < mitsuhiko> you can ignore it. it's a warning basically
> >> >> >> >
> >> >> >> > So I'll have to dig a bit deeper to understand what's going wrong here.
> >> >> >>
> >> >> >> It seems like this will be working for Python 3.6 only [1]. And I
> >> >> >> doubt it will be working in Python 2 at all.
> >> >> >>
> >> >> >> So let's wait for an official release and take a look at this then.
> >> >> >>
> >> >> >> [1] http://stackoverflow.com/questions/37549846/how-to-use-yield-inside-async-function
> >> >> >
> >> >> > It's my understanding that jinja2 should work with Python 2 and 3
> >> >> > though. I just did a quick test with pip in a python 2 environment:
> >> >> >
> >> >> > (test-venv) $ pip --version
> >> >> > pip 9.0.1 from /tmp/test-venv/local/lib/python2.7/site-packages (python 2.7)
> >> >> >
> >> >> > (test-venv) {lionel at ed}% pip install jinja2
> >> >> > Collecting jinja2
> >> >> > Using cached Jinja2-2.9.4-py2.py3-none-any.whl
> >> >> > Collecting MarkupSafe>=0.23 (from jinja2)
> >> >> > Using cached MarkupSafe-0.23.tar.gz
> >> >> > Building wheels for collected packages: MarkupSafe
> >> >> > Running setup.py bdist_wheel for MarkupSafe ... done
> >> >> > Stored in directory: /home/lionel/.cache/pip/wheels/a3/fa/dc/0198eed9ad95489b8a4f45d14dd5d2aee3f8984e46862c5748
> >> >> > Successfully built MarkupSafe
> >> >> > Installing collected packages: MarkupSafe, jinja2
> >> >> > Successfully installed MarkupSafe-0.23 jinja2-2.9.4
> >> >> >
> >> >> > (test-venv) $ python
> >> >> > Python 2.7.13 (default, Dec 18 2016, 20:19:42)
> >> >> > [GCC 6.2.1 20161215] on linux2
> >> >> > Type "help", "copyright", "credits" or "license" for more information.
> >> >> > >>> import pkg_resources
> >> >> > >>> pkg_resources.get_distribution("jinja2")
> >> >> > Jinja2 2.9.4 (/tmp/test-venv/lib/python2.7/site-packages)
> >> >> > >>> import jinja2
> >> >> > >>> jinja2.Environment()
> >> >> > <jinja2.environment.Environment object at 0x7f2ba06d3590>
> >> >> >
> >> >> > I'm a newbie in python though, sorry if I'm missing something obvious.
> >> >>
> >> >> Python in BR is "very" different from your pip environment . In BR, if
> >> >> you tell BR to compile *.py files, it will compile them all and also
> >> >> break, if an error occurs. During this compilation all syntax error
> >> >> will trigger compilation abort. But in normal case, where you make
> >> >> this manually such errors will be just warnings.
> >> >>
> >> >> So as long as you don't invoke these async filters, you most likely
> >> >> won't trigger this syntax error.
> >> >
> >> > I see. Do you think it would be worth adding a BR patch to disable
> >> > this portion of the code? When python 3.6 is integrated we could make
> >> > it optional. We'll need something like that if we want to keep python2
> >> > compat anyway.
> >>
> >> This is something, we must talk about with jinja devs first. As I said
> >> it is more broken for Python 2, i.e. first occurrence of async leads
> >> to syntax error:
> >>
> >> PYTHONPATH="/home/user/Documents/versioned/buildroot/bsp/target/usr/lib/python2.7/sysconfigdata/:/home/user/Documents/versioned/buildroot/bsp/target/usr/lib/python2.7/site-packages/"
> >> /home/user/Documents/versioned/buildroot/bsp/host/usr/bin/python2.7
> >> support/scripts/pycompile.py
> >> /home/user/Documents/versioned/buildroot/bsp/target/usr/lib/python2.7
> >> Cannot compile /home/user/Documents/versioned/buildroot/bsp/target/usr/lib/python2.7/site-packages/jinja2/asyncfilters.py
> >> Traceback (most recent call last):
> >> File "support/scripts/pycompile.py", line 24, in <module>
> >> compileall.compile_dir(sys.argv[1], quiet=report_problem)
> >> File "/home/user/Documents/versioned/buildroot/bsp/host/usr/lib/python2.7/compileall.py",
> >> line 57, in compile_dir
> >> quiet):
> >> File "/home/user/Documents/versioned/buildroot/bsp/host/usr/lib/python2.7/compileall.py",
> >> line 57, in compile_dir
> >> quiet):
> >> File "/home/user/Documents/versioned/buildroot/bsp/host/usr/lib/python2.7/compileall.py",
> >> line 50, in compile_dir
> >> if not compile_file(fullname, ddir, force, rx, quiet):
> >> File "/home/user/Documents/versioned/buildroot/bsp/host/usr/lib/python2.7/compileall.py",
> >> line 101, in compile_file
> >> if quiet:
> >> File "support/scripts/pycompile.py", line 19, in __nonzero__
> >> raise value
> >> py_compile.PyCompileError: File
> >> "/home/user/Documents/versioned/buildroot/bsp/target/usr/lib/python2.7/site-packages/jinja2/asyncfilters.py",
> >> line 7
> >> async def auto_to_seq(value):
> >> ^
> >> SyntaxError: invalid syntax
> >>
> >> Makefile:651: recipe for target 'target-finalize' failed
> >> make[1]: *** [target-finalize] Error 1
> >> Makefile:79: recipe for target '_all' failed
> >> make: *** [_all] Error 2
> >
> > Understood. Thank you for your explanations (and your work on BR in
> > general).
> >
> > What do you think I should do with that then? In your previous email
> > you mention "let's wait for an official release and take a look at
> > this then". Which release are you talking about exactly since the
> > currently released jinja version (2.9.4) already exhibits the issue?
> >
> > They have a mailing list but I'm not sure I understand the root of the
> > issue and how to fix it well enough to make a good case for it there,
> > especially since the answer I got on IRC was basically "not a problem
> > on our side".
>
> I'll open an issue on their github and post the link here. Then we
> will see what happens and make brainstorming.
Great! Thank you for taking the lead on that.
--
Lionel Flandrin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170125/f2642a0e/attachment-0002.asc>
More information about the buildroot
mailing list