Skip to content
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

Python 3.8: AttributeError: 'Checker' object has no attribute 'CONSTANT' #367

Closed
jwilk opened this issue Oct 1, 2018 · 0 comments
Closed

Comments

@jwilk
Copy link
Contributor

jwilk commented Oct 1, 2018

pyflakes is completely broken when run against Python 3.8 (not released yet, built from git master):

$ echo 24 | python3.8 -m pyflakes
Traceback (most recent call last):
  File ".../lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File ".../lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File ".../lib/python3.8/site-packages/pyflakes/__main__.py", line 5, in <module>
    main(prog='pyflakes')
  File ".../lib/python3.8/site-packages/pyflakes/api.py", line 203, in main
    warnings = check(sys.stdin.read(), '<stdin>', reporter)
  File ".../lib/python3.8/site-packages/pyflakes/api.py", line 73, in check
    w = checker.Checker(tree, filename)
  File ".../lib/python3.8/site-packages/pyflakes/checker.py", line 533, in __init__
    self.handleChildren(tree)
  File ".../lib/python3.8/site-packages/pyflakes/checker.py", line 881, in handleChildren
    self.handleNode(node, tree)
  File ".../lib/python3.8/site-packages/pyflakes/checker.py", line 928, in handleNode
    handler(node)
  File ".../lib/python3.8/site-packages/pyflakes/checker.py", line 881, in handleChildren
    self.handleNode(node, tree)
  File ".../lib/python3.8/site-packages/pyflakes/checker.py", line 927, in handleNode
    handler = self.getNodeHandler(node.__class__)
  File ".../lib/python3.8/site-packages/pyflakes/checker.py", line 749, in getNodeHandler
    self._nodeHandlers[node_class] = handler = getattr(self, nodeType)
AttributeError: 'Checker' object has no attribute 'CONSTANT'

Relevant Python bug: https://bugs.python.org/issue32892

jwilk added a commit to jwilk/pydiatra that referenced this issue Oct 1, 2018
Fixes:

    AttributeError: 'Checker' object has no attribute 'CONSTANT'

PyCQA/pyflakes#367
jwilk added a commit to jwilk/distutils644 that referenced this issue Oct 3, 2018
Fixes:

    AttributeError: 'Checker' object has no attribute 'CONSTANT'

PyCQA/pyflakes#367
jwilk added a commit to jwilk/mwic that referenced this issue Nov 10, 2018
Fixes:

    AttributeError: 'Checker' object has no attribute 'CONSTANT'

PyCQA/pyflakes#367
jwilk added a commit to jwilk/anorack that referenced this issue Nov 10, 2018
Fixes:

    AttributeError: 'Checker' object has no attribute 'CONSTANT'

PyCQA/pyflakes#367
jwilk added a commit to jwilk/urlycue that referenced this issue Nov 12, 2018
Fixes:

    AttributeError: 'Checker' object has no attribute 'CONSTANT'

PyCQA/pyflakes#367
jwilk added a commit to jwilk/python-afl that referenced this issue Nov 12, 2018
Fixes:

    AttributeError: 'Checker' object has no attribute 'CONSTANT'

PyCQA/pyflakes#367
mathiasertl added a commit to RestAuth/server that referenced this issue Jan 6, 2019
ssato added a commit to ssato/ansible-lint-custom-rules that referenced this issue Mar 6, 2020
OddBloke added a commit to OddBloke/cloud-init that referenced this issue Mar 10, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the current Ubuntu development release).
See PyCQA/pyflakes#367 for details.

2.1.1 is the latest version ATM, so bump to that.
OddBloke added a commit to OddBloke/cloud-init that referenced this issue Mar 10, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the current Ubuntu development release).
See PyCQA/pyflakes#367 for details.

2.1.1 is the latest version ATM, so bump to that.
OddBloke added a commit to canonical/cloud-init that referenced this issue Mar 10, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the current Ubuntu development release).
See PyCQA/pyflakes#367 for details.

2.1.1 is the latest version ATM, so bump to that.
cjmayo added a commit to cjmayo/geoalchemy2 that referenced this issue Mar 13, 2020
Python 3.4 is now EOL.

Update to Xenial required for Python 3.7 and 3.8 on Travis.

Update flake8 to use Python 3.8 compatible pyflakes [1].

Use libsqlite3-mod-spatialite to save compile time.

[1] PyCQA/pyflakes#367
cjmayo added a commit to cjmayo/geoalchemy2 that referenced this issue Mar 14, 2020
Python 3.4 is now EOL.

Update to Xenial required for Python 3.7 and 3.8 on Travis.

Update flake8 to use Python 3.8 compatible pyflakes [1]. Allow the
latest matching pycodestyle to be automatically installed.

Use libsqlite3-mod-spatialite to save compile time.

[1] PyCQA/pyflakes#367
cjmayo added a commit to cjmayo/geoalchemy2 that referenced this issue Mar 14, 2020
Python 3.4 is now EOL.

Update to Xenial required for Python 3.7 and 3.8 on Travis.

Update flake8 to use Python 3.8 compatible pyflakes [1]. Allow the
latest matching pycodestyle to be automatically installed.

Use libsqlite3-mod-spatialite to save compile time.

[1] PyCQA/pyflakes#367
cjmayo added a commit to cjmayo/geoalchemy2 that referenced this issue Mar 14, 2020
Python 3.4 is now EOL.

Update to Xenial required for Python 3.7 and 3.8 on Travis.

Update flake8 to use Python 3.8 compatible pyflakes [1]. Allow the
latest matching pycodestyle to be automatically installed.

Use libsqlite3-mod-spatialite to save compile time.

[1] PyCQA/pyflakes#367
cjmayo added a commit to cjmayo/geoalchemy2 that referenced this issue Mar 14, 2020
Python 3.4 is now EOL.

Update to Xenial required for Python 3.7 and 3.8 on Travis.

Update flake8 to use Python 3.8 compatible pyflakes [1]. Allow the
latest matching pycodestyle to be automatically installed.

Use libsqlite3-mod-spatialite to save compile time.

[1] PyCQA/pyflakes#367
cjmayo added a commit to cjmayo/geoalchemy2 that referenced this issue Mar 14, 2020
Python 3.4 is now EOL.

Update to Xenial required for Python 3.7 and 3.8 on Travis.

Update flake8 to use Python 3.8 compatible pyflakes [1]. Allow the
latest matching pycodestyle to be automatically installed.

Use libsqlite3-mod-spatialite to save compile time.

[1] PyCQA/pyflakes#367
cjmayo added a commit to cjmayo/geoalchemy2 that referenced this issue Mar 16, 2020
Python 3.4 is now EOL.

Update to Xenial required for Python 3.7 and 3.8 on Travis.

Update flake8 to use Python 3.8 compatible pyflakes [1]. Allow the
latest matching pycodestyle to be automatically installed.

Use libsqlite3-mod-spatialite to save compile time.

[1] PyCQA/pyflakes#367
blackboxsw added a commit to blackboxsw/ubuntu-advantage-client that referenced this issue Apr 21, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the Focal release).
See PyCQA/pyflakes#367 for details.

2.1.1 is the latest version ATM, so bump to that.

Fixes: canonical#1023
blackboxsw added a commit to blackboxsw/ubuntu-advantage-client that referenced this issue Apr 22, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the Focal release).
See PyCQA/pyflakes#367 for details.

2.1.1 is the latest version ATM, so bump to that.

Fixes: canonical#1023
blackboxsw added a commit to blackboxsw/ubuntu-advantage-client that referenced this issue Apr 22, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the Focal release).
See PyCQA/pyflakes#367 for details.

2.2.0 is the latest version ATM, so bump to that.

Fixes: canonical#1023
blackboxsw added a commit to blackboxsw/ubuntu-advantage-client that referenced this issue Apr 22, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the Focal release).
See PyCQA/pyflakes#367 for details.

2.2.0 is the latest version ATM, so bump to that.

Fixes: canonical#1023
powersj pushed a commit to canonical/ubuntu-pro-client that referenced this issue Apr 22, 2020
pyflakes versions older than 2.1.0 are incompatible with Python 3.8
(which is the Python version in the Focal release).
See PyCQA/pyflakes#367 for details.

2.2.0 is the latest version ATM, so bump to that.

Fixes: #1023
Flowdalic added a commit to Flowdalic/docker-debian-dev that referenced this issue Sep 9, 2020
Otherwise we run into PyCQA/pyflakes#367

pyflakes setup.py rubber bin
156Traceback (most recent call last):
157  File "/usr/bin/pyflakes", line 11, in <module>
158    load_entry_point('pyflakes==2.0.0', 'console_scripts', 'pyflakes')()
159  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 201, in main
160    warnings = checkRecursive(args, reporter)
161  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 158, in checkRecursive
162    warnings += checkPath(sourcePath, reporter)
163  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 101, in checkPath
164    return check(codestr, filename, reporter)
165  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 73, in check
166    w = checker.Checker(tree, filename)
167  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 497, in __init__
168    self.handleChildren(tree)
169  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
170    self.handleNode(node, tree)
171  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 871, in handleNode
172    handler(node)
173  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
174    self.handleNode(node, tree)
175  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 871, in handleNode
176    handler(node)
177  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 1306, in TUPLE
178    self.handleChildren(node)
179  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
180    self.handleNode(node, tree)
181  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 871, in handleNode
182    handler(node)
183  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
184    self.handleNode(node, tree)
185  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 870, in handleNode
186    handler = self.getNodeHandler(node.__class__)
187  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 700, in getNodeHandler
188    self._nodeHandlers[node_class] = handler = getattr(self, nodeType)
189AttributeError: 'Checker' object has no attribute 'CONSTANT'
190make: *** [Makefile:16: pyflakes] Error 1
nelljerram pushed a commit to nelljerram/networking-calico that referenced this issue Nov 30, 2020
I was seeing the error described here -
PyCQA/pyflakes#367 - when running 'tox'
locally on my own laptop.

That issue indicates that the issue has been fixed upstream, but my
tox environment for some reason has these pins:

    flake8==2.2.4
    pyflakes==0.8.1

I guess hardcoded from within 'tox'?

Anyway, we actually have no requirement to conform to PEP8, so the
simplest thing is just to remove PEP8 testing.
nelljerram pushed a commit to nelljerram/networking-calico that referenced this issue Dec 11, 2020
I was seeing the error described here -
PyCQA/pyflakes#367 - when running 'tox'
locally on my own laptop.

That issue indicates that the issue has been fixed upstream, but my
tox environment for some reason has these pins:

    flake8==2.2.4
    pyflakes==0.8.1

I guess hardcoded from within 'tox'?

Anyway, we actually have no requirement to conform to PEP8, so the
simplest thing is just to remove PEP8 testing.
oracleyue pushed a commit to oracleyue/rubber-for-python3 that referenced this issue Feb 26, 2021
Otherwise we run into PyCQA/pyflakes#367

pyflakes setup.py rubber bin
156Traceback (most recent call last):
157  File "/usr/bin/pyflakes", line 11, in <module>
158    load_entry_point('pyflakes==2.0.0', 'console_scripts', 'pyflakes')()
159  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 201, in main
160    warnings = checkRecursive(args, reporter)
161  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 158, in checkRecursive
162    warnings += checkPath(sourcePath, reporter)
163  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 101, in checkPath
164    return check(codestr, filename, reporter)
165  File "/usr/lib/python3/dist-packages/pyflakes/api.py", line 73, in check
166    w = checker.Checker(tree, filename)
167  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 497, in __init__
168    self.handleChildren(tree)
169  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
170    self.handleNode(node, tree)
171  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 871, in handleNode
172    handler(node)
173  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
174    self.handleNode(node, tree)
175  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 871, in handleNode
176    handler(node)
177  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 1306, in TUPLE
178    self.handleChildren(node)
179  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
180    self.handleNode(node, tree)
181  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 871, in handleNode
182    handler(node)
183  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 824, in handleChildren
184    self.handleNode(node, tree)
185  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 870, in handleNode
186    handler = self.getNodeHandler(node.__class__)
187  File "/usr/lib/python3/dist-packages/pyflakes/checker.py", line 700, in getNodeHandler
188    self._nodeHandlers[node_class] = handler = getattr(self, nodeType)
189AttributeError: 'Checker' object has no attribute 'CONSTANT'
190make: *** [Makefile:16: pyflakes] Error 1
trentm added a commit to trentm/apm-integration-testing that referenced this issue Mar 23, 2021
This fixes 'make lint' when one has Python 3.8 or later
(PyCQA/pyflakes#367), but updating to the
latest flake8 and its deps. Note that flake8 3.9.0 dropped support
for Python 3.4
(https://flake8.pycqa.org/en/latest/release-notes/3.9.0.html)
trentm added a commit to elastic/apm-integration-testing that referenced this issue Mar 24, 2021
This fixes 'make lint' when one has Python 3.8 or later
(PyCQA/pyflakes#367), but updating to the
latest flake8 and its deps. Note that flake8 3.9.0 dropped support
for Python 3.4
(https://flake8.pycqa.org/en/latest/release-notes/3.9.0.html)
trentm added a commit to trentm/apm-integration-testing that referenced this issue Apr 28, 2021
This fixes 'make lint' when one has Python 3.8 or later
(PyCQA/pyflakes#367), but updating to the
latest flake8 and its deps. Note that flake8 3.9.0 dropped support
for Python 3.4
(https://flake8.pycqa.org/en/latest/release-notes/3.9.0.html)
trentm added a commit to trentm/apm-integration-testing that referenced this issue Apr 28, 2021
This fixes 'make lint' when one has Python 3.8 or later
(PyCQA/pyflakes#367), but updating to the
latest flake8 and its deps. Note that flake8 3.9.0 dropped support
for Python 3.4
(https://flake8.pycqa.org/en/latest/release-notes/3.9.0.html)
trentm added a commit to elastic/apm-integration-testing that referenced this issue Apr 28, 2021
This fixes 'make lint' when one has Python 3.8 or later
(PyCQA/pyflakes#367), but updating to the
latest flake8 and its deps. Note that flake8 3.9.0 dropped support
for Python 3.4
(https://flake8.pycqa.org/en/latest/release-notes/3.9.0.html)
trentm added a commit to elastic/apm-integration-testing that referenced this issue Apr 28, 2021
This fixes 'make lint' when one has Python 3.8 or later
(PyCQA/pyflakes#367), but updating to the
latest flake8 and its deps. Note that flake8 3.9.0 dropped support
for Python 3.4
(https://flake8.pycqa.org/en/latest/release-notes/3.9.0.html)
klardotsh added a commit to KMKfw/kmk_firmware that referenced this issue Jun 20, 2021
klardotsh added a commit to KMKfw/kmk_firmware that referenced this issue Jun 20, 2021
…re ext is now redundant; linter back online in CI
JoshRosen added a commit to JoshRosen/py4j that referenced this issue Oct 19, 2021
legoktm added a commit to freedomofpress/securedrop that referenced this issue Oct 17, 2022
We primarily needed to upgrade pyflakes for Python 3.8 compatibility
(PyCQA/pyflakes#367), but upgrading flake8
also meant pulling in a newer pylint since they have a common
dependency, so here we are.
wferi added a commit to OneIdentity/bldr that referenced this issue May 3, 2023
PyCQA/pyflakes#367 is fixed in 2.1.0, which
a new enough flake8 pulls in, but not the default 2.5.5 when the
dependencies generated under Python 3.7.
wferi added a commit to OneIdentity/bldr that referenced this issue May 11, 2023
PyCQA/pyflakes#367 is fixed in 2.1.0, which
a new enough flake8 pulls in, but not the default 2.5.5 when the
dependencies are generated under Python 3.7.
wferi added a commit to OneIdentity/bldr that referenced this issue May 17, 2023
PyCQA/pyflakes#367 is fixed in 2.1.0, which
a new enough flake8 pulls in, but not the default 2.5.5 when the
dependencies are generated under Python 3.7.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants