[Buildroot] [PATCH 1/2] python-flask: bump to version 0.12

Yegor Yefremov yegorslists at googlemail.com
Wed Jan 25 10:11:43 UTC 2017


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.


More information about the buildroot mailing list