Message ID | 20170125090150.2548-1-lionel@svkt.org |
---|---|
State | Accepted |
Headers | show |
On Wed, Jan 25, 2017 at 10:01 AM, Lionel Flandrin <lionel@svkt.org> wrote: > Signed-off-by: Lionel Flandrin <lionel@svkt.org> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com> Care to update jinja as well https://github.com/pallets/jinja/releases Yegor > --- > package/python-flask/python-flask.hash | 4 ++-- > package/python-flask/python-flask.mk | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/package/python-flask/python-flask.hash b/package/python-flask/python-flask.hash > index 01ccc6e29..919b07598 100644 > --- a/package/python-flask/python-flask.hash > +++ b/package/python-flask/python-flask.hash > @@ -1,3 +1,3 @@ > # md5 from https://pypi.python.org/pypi/flask/json, sha256 locally computed > -md5 d2af95d8fe79cf7da099f062dd122a08 Flask-0.11.1.tar.gz > -sha256 b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e Flask-0.11.1.tar.gz > +md5 c1d30f51cff4a38f9454b23328a15c5a Flask-0.12.tar.gz > +sha256 93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b Flask-0.12.tar.gz > diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk > index 204eba0af..6c25a6d14 100644 > --- a/package/python-flask/python-flask.mk > +++ b/package/python-flask/python-flask.mk > @@ -4,9 +4,9 @@ > # > ################################################################################ > > -PYTHON_FLASK_VERSION = 0.11.1 > +PYTHON_FLASK_VERSION = 0.12 > PYTHON_FLASK_SOURCE = Flask-$(PYTHON_FLASK_VERSION).tar.gz > -PYTHON_FLASK_SITE = https://pypi.python.org/packages/55/8a/78e165d30f0c8bb5d57c429a30ee5749825ed461ad6c959688872643ffb3 > +PYTHON_FLASK_SITE = https://pypi.python.org/packages/4b/3a/4c20183df155dd2e39168e35d53a388efb384a512ca6c73001d8292c094a > PYTHON_FLASK_SETUP_TYPE = setuptools > PYTHON_FLASK_LICENSE = BSD-3c > PYTHON_FLASK_LICENSE_FILES = LICENSE > -- > 2.11.0 >
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@svkt.org> wrote: > > Signed-off-by: Lionel Flandrin <lionel@svkt.org> > > Reviewed-by: Yegor Yefremov <yegorslists@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. > > --- > > package/python-flask/python-flask.hash | 4 ++-- > > package/python-flask/python-flask.mk | 4 ++-- > > 2 files changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/package/python-flask/python-flask.hash b/package/python-flask/python-flask.hash > > index 01ccc6e29..919b07598 100644 > > --- a/package/python-flask/python-flask.hash > > +++ b/package/python-flask/python-flask.hash > > @@ -1,3 +1,3 @@ > > # md5 from https://pypi.python.org/pypi/flask/json, sha256 locally computed > > -md5 d2af95d8fe79cf7da099f062dd122a08 Flask-0.11.1.tar.gz > > -sha256 b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e Flask-0.11.1.tar.gz > > +md5 c1d30f51cff4a38f9454b23328a15c5a Flask-0.12.tar.gz > > +sha256 93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b Flask-0.12.tar.gz > > diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk > > index 204eba0af..6c25a6d14 100644 > > --- a/package/python-flask/python-flask.mk > > +++ b/package/python-flask/python-flask.mk > > @@ -4,9 +4,9 @@ > > # > > ################################################################################ > > > > -PYTHON_FLASK_VERSION = 0.11.1 > > +PYTHON_FLASK_VERSION = 0.12 > > PYTHON_FLASK_SOURCE = Flask-$(PYTHON_FLASK_VERSION).tar.gz > > -PYTHON_FLASK_SITE = https://pypi.python.org/packages/55/8a/78e165d30f0c8bb5d57c429a30ee5749825ed461ad6c959688872643ffb3 > > +PYTHON_FLASK_SITE = https://pypi.python.org/packages/4b/3a/4c20183df155dd2e39168e35d53a388efb384a512ca6c73001d8292c094a > > PYTHON_FLASK_SETUP_TYPE = setuptools > > PYTHON_FLASK_LICENSE = BSD-3c > > PYTHON_FLASK_LICENSE_FILES = LICENSE > > -- > > 2.11.0 > > -- Lionel Flandrin
On Wed, Jan 25, 2017 at 10:18 AM, Lionel Flandrin <lionel@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@svkt.org> wrote: >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> >> >> Reviewed-by: Yegor Yefremov <yegorslists@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 Yegor
On Wed, Jan 25, 2017 at 10:58 AM, Lionel Flandrin <lflandrin@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@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@svkt.org> wrote: >> >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> >> >> >> >> Reviewed-by: Yegor Yefremov <yegorslists@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@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.
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@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@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@svkt.org> wrote: > >> >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> > >> >> > >> >> Reviewed-by: Yegor Yefremov <yegorslists@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@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.
On Wed, Jan 25, 2017 at 11:22 AM, Lionel Flandrin <lionel@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@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@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@svkt.org> wrote: >> >> >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> >> >> >> >> >> >> Reviewed-by: Yegor Yefremov <yegorslists@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@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
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@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@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@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@svkt.org> wrote: > >> >> >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> > >> >> >> > >> >> >> Reviewed-by: Yegor Yefremov <yegorslists@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@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".
On Wed, Jan 25, 2017 at 1:16 PM, Lionel Flandrin <lionel@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@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@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@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@svkt.org> wrote: >> >> >> >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> >> >> >> >> >> >> >> >> Reviewed-by: Yegor Yefremov <yegorslists@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@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. Yegor
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@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@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@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@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@svkt.org> wrote: > >> >> >> >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> > >> >> >> >> > >> >> >> >> Reviewed-by: Yegor Yefremov <yegorslists@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@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.
On Wed, Jan 25, 2017 at 2:02 PM, Lionel Flandrin <lionel@svkt.org> wrote: > 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@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@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@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@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@svkt.org> wrote: >> >> >> >> >> > Signed-off-by: Lionel Flandrin <lionel@svkt.org> >> >> >> >> >> >> >> >> >> >> Reviewed-by: Yegor Yefremov <yegorslists@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@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. I don't think this will be fixed upstream [1]. So I just made the same fix we've made for python-serial. Please test my patch. [1] https://github.com/pallets/jinja/issues/662 Yegor
On Wed, Jan 25, 2017 at 03:19:25PM +0100, Yegor Yefremov wrote: [snip] > I don't think this will be fixed upstream [1]. So I just made the same > fix we've made for python-serial. Please test my patch. > > [1] https://github.com/pallets/jinja/issues/662 > I'll test your patch ASAP but regarding mitsuhiko's comment in the github issue: @thmo these files are not imported so that is not an issue. Bytecompilation is supposed to skip over files it cannot byte compile as a result of this. pip does this correctly. Doesn't this mean that it'd be better to patch buildroot's bytecompile code to gracefully handle this situation by mimicking pip's behaviour in this situation?
Hello, On Wed, 25 Jan 2017 15:50:21 +0100, Lionel Flandrin wrote: > I'll test your patch ASAP but regarding mitsuhiko's comment in the > github issue: > > @thmo these files are not imported so that is not an > issue. Bytecompilation is supposed to skip over files it cannot byte > compile as a result of this. pip does this correctly. > > Doesn't this mean that it'd be better to patch buildroot's bytecompile > code to gracefully handle this situation by mimicking pip's behaviour > in this situation? I think it was on purpose that our byte compilation process actually aborts when there is a failure. Otherwise real issues remain unnoticed. I believe this pip behavior is actually pretty terrible. Thomas
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@svkt.org> wrote: > > Signed-off-by: Lionel Flandrin <lionel@svkt.org> > > Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com> > > Care to update jinja as well https://github.com/pallets/jinja/releases Politely bumping this patch now that Jinja has been updated. > Yegor > > > --- > > package/python-flask/python-flask.hash | 4 ++-- > > package/python-flask/python-flask.mk | 4 ++-- > > 2 files changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/package/python-flask/python-flask.hash b/package/python-flask/python-flask.hash > > index 01ccc6e29..919b07598 100644 > > --- a/package/python-flask/python-flask.hash > > +++ b/package/python-flask/python-flask.hash > > @@ -1,3 +1,3 @@ > > # md5 from https://pypi.python.org/pypi/flask/json, sha256 locally computed > > -md5 d2af95d8fe79cf7da099f062dd122a08 Flask-0.11.1.tar.gz > > -sha256 b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e Flask-0.11.1.tar.gz > > +md5 c1d30f51cff4a38f9454b23328a15c5a Flask-0.12.tar.gz > > +sha256 93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b Flask-0.12.tar.gz > > diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk > > index 204eba0af..6c25a6d14 100644 > > --- a/package/python-flask/python-flask.mk > > +++ b/package/python-flask/python-flask.mk > > @@ -4,9 +4,9 @@ > > # > > ################################################################################ > > > > -PYTHON_FLASK_VERSION = 0.11.1 > > +PYTHON_FLASK_VERSION = 0.12 > > PYTHON_FLASK_SOURCE = Flask-$(PYTHON_FLASK_VERSION).tar.gz > > -PYTHON_FLASK_SITE = https://pypi.python.org/packages/55/8a/78e165d30f0c8bb5d57c429a30ee5749825ed461ad6c959688872643ffb3 > > +PYTHON_FLASK_SITE = https://pypi.python.org/packages/4b/3a/4c20183df155dd2e39168e35d53a388efb384a512ca6c73001d8292c094a > > PYTHON_FLASK_SETUP_TYPE = setuptools > > PYTHON_FLASK_LICENSE = BSD-3c > > PYTHON_FLASK_LICENSE_FILES = LICENSE > > -- > > 2.11.0 > > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Hello, On Wed, 25 Jan 2017 10:01:49 +0100, Lionel Flandrin wrote: > Signed-off-by: Lionel Flandrin <lionel@svkt.org> > --- > package/python-flask/python-flask.hash | 4 ++-- > package/python-flask/python-flask.mk | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) Applied to master, thanks. Thomas
diff --git a/package/python-flask/python-flask.hash b/package/python-flask/python-flask.hash index 01ccc6e29..919b07598 100644 --- a/package/python-flask/python-flask.hash +++ b/package/python-flask/python-flask.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/flask/json, sha256 locally computed -md5 d2af95d8fe79cf7da099f062dd122a08 Flask-0.11.1.tar.gz -sha256 b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e Flask-0.11.1.tar.gz +md5 c1d30f51cff4a38f9454b23328a15c5a Flask-0.12.tar.gz +sha256 93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b Flask-0.12.tar.gz diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk index 204eba0af..6c25a6d14 100644 --- a/package/python-flask/python-flask.mk +++ b/package/python-flask/python-flask.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_VERSION = 0.11.1 +PYTHON_FLASK_VERSION = 0.12 PYTHON_FLASK_SOURCE = Flask-$(PYTHON_FLASK_VERSION).tar.gz -PYTHON_FLASK_SITE = https://pypi.python.org/packages/55/8a/78e165d30f0c8bb5d57c429a30ee5749825ed461ad6c959688872643ffb3 +PYTHON_FLASK_SITE = https://pypi.python.org/packages/4b/3a/4c20183df155dd2e39168e35d53a388efb384a512ca6c73001d8292c094a PYTHON_FLASK_SETUP_TYPE = setuptools PYTHON_FLASK_LICENSE = BSD-3c PYTHON_FLASK_LICENSE_FILES = LICENSE
Signed-off-by: Lionel Flandrin <lionel@svkt.org> --- package/python-flask/python-flask.hash | 4 ++-- package/python-flask/python-flask.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)