-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ast.Module signature change in Python 3.8.0a3 causes TypeError #1551
Comments
This needs to be reported to CPython as an undocumented and backwards-incompatible API change in the standard library. |
@asottile What are your thoughts? I'm not sure we should fix this yet, Python 3.8 has been causing then fixing random issues for quite a while. |
Looks like this was reported in CPython https://bugs.python.org/issue35894 and the resolution was that downstream code should add a |
😡 what a wacky resolution -- I'll make a more portable fix for this, coming right up! |
The Werkzeug issue on 3.8 seems to have been fixed: pallets/werkzeug#1551
Thank you for the quick turnaround on this and many other issues. Python 3.8.0 final has been released. Can we get a Werkzeug 0.15.5 release? |
3.8 has a problem with the pinned werkzeug version. Instead of messing with pip requirements, just downgrade Python. Issue: pallets/werkzeug#1551 + STATUSCODE=200 + test 200 -ne 200 + locust --host=http://frontend:80 --no-web -c 500 Traceback (most recent call last): File "/usr/local/bin/locust", line 11, in <module> load_entry_point('locustio==0.8.1', 'console_scripts', 'locust')() File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 490, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2854, in load_entry_point return ep.load() File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2445, in load return self.resolve() File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2451, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/local/lib/python3.8/site-packages/locust/main.py", line 14, in <module> from . import events, runners, web File "/usr/local/lib/python3.8/site-packages/locust/web.py", line 27, in <module> app = Flask(__name__) File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 558, in __init__ self.add_url_rule( File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 66, in wrapper_func return f(self, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1216, in add_url_rule self.url_map.add(rule) File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 1386, in add rule.bind(self) File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 730, in bind self.compile() File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 794, in compile self._build = self._compile_builder(False).__get__(self, None) File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 945, in _compile_builder code = compile(module, "<werkzeug routing>", "exec") TypeError: required field "type_ignores" missing from Module
3.8 has a problem with the pinned werkzeug version. Instead of messing with pip requirements, just downgrade Python. Issue: pallets/werkzeug#1551 + STATUSCODE=200 + test 200 -ne 200 + locust --host=http://frontend:80 --no-web -c 500 Traceback (most recent call last): File "/usr/local/bin/locust", line 11, in <module> load_entry_point('locustio==0.8.1', 'console_scripts', 'locust')() File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 490, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2854, in load_entry_point return ep.load() File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2445, in load return self.resolve() File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2451, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/local/lib/python3.8/site-packages/locust/main.py", line 14, in <module> from . import events, runners, web File "/usr/local/lib/python3.8/site-packages/locust/web.py", line 27, in <module> app = Flask(__name__) File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 558, in __init__ self.add_url_rule( File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 66, in wrapper_func return f(self, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1216, in add_url_rule self.url_map.add(rule) File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 1386, in add rule.bind(self) File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 730, in bind self.compile() File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 794, in compile self._build = self._compile_builder(False).__get__(self, None) File "/usr/local/lib/python3.8/site-packages/werkzeug/routing.py", line 945, in _compile_builder code = compile(module, "<werkzeug routing>", "exec") TypeError: required field "type_ignores" missing from Module
Werkzeug upgraded to fix underlying bug that this surfaces pallets/werkzeug#1551
Does anyone have a workaround for this issue? |
It was fixed in a subsequent release. Upgrade your version of Werkzeug. |
When I tried Python examples with Python 3.8.5, I got the following error: TypeError: required field "type_ignores" missing from Module I updated the dependency since it seems the error is related to this issue: pallets/werkzeug#1551
With Python 3.8.0a3 and Werkzeug 0.15.4, compiling the rule builders causes
TypeError: required field "type_ignores" missing from Module
. It sounds likeast.Module
has a new required argument.I think this is the same problem as beetbox/beets#3201 (comment)
The text was updated successfully, but these errors were encountered: