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

Repo versions <=13.0: pylint in pre-commit broken on Python 3.11 #174

Closed
carmenbianca opened this issue Nov 25, 2022 · 6 comments · Fixed by #182
Closed

Repo versions <=13.0: pylint in pre-commit broken on Python 3.11 #174

carmenbianca opened this issue Nov 25, 2022 · 6 comments · Fixed by #182
Labels
bug Something isn't working

Comments

@carmenbianca
Copy link
Member

Module

The name of the module that has a bug.

Tested on https://github.com/OCA/cooperative

Describe the bug

A clear and concise description of what the bug is.

On Fedora 37 with Python 3.11, when running pre-commit, the pylint step breaks.

Output

$ pre-commit run --all-files
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-pylint.
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-pylint:pylint-odoo==3.5.0.
[INFO] Installing environment for https://github.com/OCA/mirrors-flake8.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/pre-commit/mirrors-pylint.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
Update pre-commit excluded addons........................................Passed
Fix the manifest website key.............................................Passed
Generate default setup.py for an addons directory........................Passed
Generate requirements.txt for an addons directory........................Passed
flake8 excluding __init__.py.............................................Passed
pylint with optional checks..............................................Failed
- hook id: pylint
- duration: 0.1s
- exit code: 1

Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)
Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)
Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)
Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)

pylint with mandatory checks.............................................Failed
- hook id: pylint
- exit code: 1

Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)
Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)
Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)
Traceback (most recent call last):
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
             ^^^^^^^^^^^^
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/__init__.py", line 19, in run_pylint
    from pylint.lint import Run as PylintRun
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/__init__.py", line 75, in <module>
    from pylint.lint.check_parallel import check_parallel
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/lint/check_parallel.py", line 7, in <module>
    from pylint import reporters
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/reporters/__init__.py", line 24, in <module>
    from pylint import utils
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/__init__.py", line 46, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 6, in <module>
    from astroid import nodes
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib/python3.11/site-packages/astroid/__init__.py", line 45, in <module>
    import wrapt
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "/var/home/coopiteasy/.cache/pre-commit/repoqgtvyq8v/py_env-python3/lib64/python3.11/site-packages/wrapt/decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)

To Reproduce

Affected versions: 13.0 and lower. I've only tested 12.0.

Steps to reproduce the behavior:

  1. Install an operating system with Python 3.11 as the default Python.
  2. pre-commit run --all-files

Expected behavior
A clear and concise description of what you expected to happen.

The test works.

Additional context
Add any other context about the problem here. (e.g. OS, Python version, ...)

Fedora 37, Python 3.11.

Related to GrahamDumpleton/wrapt#196

Snippet of the broken hook:

  - repo: https://github.com/pre-commit/mirrors-pylint
    rev: v2.5.3
    hooks:
      - id: pylint
        name: pylint with optional checks
        args:
          - --rcfile=.pylintrc
          - --exit-zero
        verbose: true
        additional_dependencies: &pylint_deps
          - pylint-odoo==3.5.0
      - id: pylint
        name: pylint with mandatory checks
        args:
          - --rcfile=.pylintrc-mandatory
        additional_dependencies: *pylint_deps

I see three solutions:

  1. Pin the pylint hook to Python 3.6 (or Python 2.7). This is already done for flake8.
  2. Like versions 14.0 and above, use pylint-odoo directly instead of using mirrors-pylint. This would necessitate a version bump of pylint-odoo to a version that has a pre-commit hook configured.
  3. Create a new release of pylint-odoo 3.5.1 that has a pre-commit hook that Just Works™, somehow.
@carmenbianca carmenbianca added the bug Something isn't working label Nov 25, 2022
@pedrobaeza
Copy link
Member

I think the option 2 seems the best for current development environments, where older versions of Python are not available.

@sbidoul
Copy link
Member

sbidoul commented Nov 26, 2022

Option 2 should be reasonably safe, since we enable pylint-odoo checks explicitly, so if there are no bugs in pylint-odoo, upgrading pylint-odoo should not trigger new errors.

OTOH, it's only a matter of time until a pinned hook version will break with a new python version, especially since (like it or not) python is accelerating the deprecation rate of very old stdlib components.

So since we already require python 3.6, it may be better to pin to that version for all hooks, so I lean towards option 1.

@yajo
Copy link
Member

yajo commented Nov 28, 2022

Maybe we just don't need to pin python versions.

After all, pre-commit hooks are related to the dev env, not to odoo itself. Odoo should be version-pinned indeed. But you can't expect today's dev laptops to have python 3.6.

Since the template update is manual, made on demand, old repos will keep using old python versions for linters until updated. When updated, they'll use modern versions. And also there'll be some new linter/formatter violations, but again, since it's a manual process, it'll be fixed during that same process.

Makes sense?

@carmenbianca
Copy link
Member Author

But you can't expect today's dev laptops to have python 3.6.

I contest this. You need an older version of Python to develop Odoo 12 anyway. This means either:

  • running an old operating system;
  • installing an old Python version as package. Fedora ships python3.6 as a package in its latest release, for what it's worth.

So it's reasonably likely to assume that the people working on Odoo 12 modules have access to an old version of Python.

If we don't pin the version in pre-commit, it will default to python3, which in this case resolves to python3.11 on the dev machine, which is too recent. Unless you're proposing that the dev simply ignore that error and run all linting via GitHub CI, this needs to be addressed somehow.

I admit, though, that pinning a specific version of Python in pre-commit is rather stupid and ugly. But something needs to give somewhere.

@yajo
Copy link
Member

yajo commented Nov 29, 2022

Sorry, you're right. I've been for long time without a specific python interpreter installed because my dev docker image contained the appropriate one for Odoo.

However indeed, pinning the python version in .pre-commit-config.yaml would lead to more problems than solutions.

OTOH it's really not necessary to have linters run in the same python version as Odoo. Linters running under python 3.11 are perfectly able to analyze code written for python 3.6.

As @sbidoul said, this problem is only gonna get worse as Python releases and deprecation cycles is faster now. Please check #175 where I propose a viable definitive solution to all these problems.

@sbidoul
Copy link
Member

sbidoul commented Dec 11, 2022

So we agree to pin on python 3.6 for Odoo < 14 and the pre-commit job?

BTW, we also need to pin the GitHub action image to ubuntu-20.04 here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants