Skip to content

(Py3.10) Error on loading: TypeError: TypeChecker() takes no arguments  #293

Open

Description

@sanjayankur31

Hello,

I upgraded to Fedora 35 (to be released soon, in beta now) to get to Python 3.10 since the bug in Python 3.9 prevents me from using weeslack and weechat-matrix together (wee-slack/wee-slack#812). However, on this newly upgrade system, I'm running into these errors on loading the script:

             | "$HOME/Sync/99_private/weechat/python/autoload/matrix.py", line 53, in <module>
09:31:37     | python: stdout/stderr (?):     from nio import RemoteProtocolError,
             | RemoteTransportError, TransportType
09:31:37     | python: stdout/stderr (?):   File "/usr/lib/python3.10/site-packages/nio/__init__.py",
             | line 2, in <module>
09:31:37     | python: stdout/stderr (?):     from .client import *
09:31:37     | python: stdout/stderr (?):   File
             | "/usr/lib/python3.10/site-packages/nio/client/__init__.py", line 3, in <module>
09:31:37     | python: stdout/stderr (?):     from .base_client import Client, ClientConfig
09:31:37     | python: stdout/stderr (?):   File
             | "/usr/lib/python3.10/site-packages/nio/client/base_client.py", line 35, in <module>
09:31:37     | python: stdout/stderr (?):     from ..crypto import ENCRYPTION_ENABLED
09:31:37     | python: stdout/stderr (?):   File
             | "/usr/lib/python3.10/site-packages/nio/crypto/__init__.py", line 32, in <module>
09:31:37     | python: stdout/stderr (?):     from .key_request import OutgoingKeyRequest
09:31:37     | python: stdout/stderr (?):   File
             | "/usr/lib/python3.10/site-packages/nio/crypto/key_request.py", line 21, in <module>
09:31:37     | python: stdout/stderr (?):     from ..responses import RoomKeyRequestResponse
09:31:37     | python: stdout/stderr (?):   File "/usr/lib/python3.10/site-packages/nio/responses.py",
             | line 26, in <module>
09:31:37     | python: stdout/stderr (?):     from jsonschema.exceptions import SchemaError,
             | ValidationError
09:31:37     | python: stdout/stderr (?):   File
             | "/usr/lib/python3.10/site-packages/jsonschema/__init__.py", line 21, in <module>
09:31:37     | python: stdout/stderr (?):     from jsonschema._types import TypeChecker
09:31:37     | python: stdout/stderr (?):   File
             | "/usr/lib/python3.10/site-packages/jsonschema/_types.py", line 168, in <module>
09:31:37     | python: stdout/stderr (?):     draft3_type_checker = TypeChecker(
09:31:37     | python: stdout/stderr (?): TypeError: TypeChecker() takes no arguments
09:31:37 =!= | python: unable to parse file
             | "$HOME/Sync/99_private/weechat/python/autoload/matrix.py"
09:31:37     | Connecting to 3 slack teams.
09:31:37     | python scripts loaded: autosort, colorize_nicks, go, notify_send, slack, urlgrab
09:31:37     | perl scripts loaded: highmon
09:31:37     | script: 366 scripts for WeeChat 3.2
09:31:37     | Plugins loaded: alias, buflist, charset, exec, fifo, fset, guile, irc, logger, lua,
             | perl, python, relay, ruby, script, spell, tcl, trigger, xfer

I can run the import command just fine in python:

from nio import RemoteProtocolError, RemoteTransportError, TransportType
# all good, no errors here

So maybe it's something related to my upgrade (some pyc or __pycache__ files still referring to older versions or something) but I can't figure out how to go about debugging this. Any hints please?

Here's the system info:

  • Fedora 35
  • Python 3.10.0rc2
  • python3-jsonschema-3.2.0-12.fc35.noarch
  • python3-matrix-nio-0.18.6-1.fc35.noarch
  • weechat-matrix at 79805d0
  • weechat 3.2
$ pwd
$HOME/.weechat/python
$ tree 
.
├── autoload
│   ├── autosort.py -> ../autosort.py
│   ├── colorize_nicks.py -> ../colorize_nicks.py
│   ├── go.py -> ../go.py
│   ├── matrix.py -> $HOME/Documents/02_Code/01_others/weechat-matrix/main.py
│   ├── notify_send.py -> ../notify_send.py
│   ├── slack.py -> ../slack.py
│   └── urlgrab.py -> ../urlgrab.py
├── autosort.py
├── colorize_nicks.py
├── go.py
├── matrix -> $HOME/Documents/02_Code/01_others/weechat-matrix/matrix
├── matrix.py -> $HOME/Documents/02_Code/01_others/weechat-matrix/main.py
├── notify_send.py
├── slack.py
└── urlgrab.py

2 directories, 14 files

Activity

  1. ElDifinitivo commented on Oct 20, 2021

    @ElDifinitivo

    I've just come across the same issue. Void Linux just recently upgraded to python 3.10.0 and I can't feasibly downgrade back to 3.9. Using a virtualenv doesn't work either due to incompatibilities between versions.

    I'm also at a loss of what it could be. I don't think it's due to any .pyc files, cleared any cache I could find and it didn't change anything.

    09:22 python: loading script "/home/<user>/bin/projects/dotfiles/.weechat/python/matrix.py"
    09:22 python: stdout/stderr (?): Traceback (most recent call last):
    09:22 python: stdout/stderr (?):   File "/home/<user>/bin/projects/dotfiles/.weechat/python/matrix.py", line 53, in <module>
    09:22 python: stdout/stderr (?):     from nio import RemoteProtocolError, RemoteTransportError, TransportType
    09:22 python: stdout/stderr (?):   File "/home/<user>/.local/lib/python3.10/site-packages/nio/__init__.py", line 2, in <module>
    09:22 python: stdout/stderr (?):     from .client import *
    09:22 python: stdout/stderr (?):   File "/home/<user>/.local/lib/python3.10/site-packages/nio/client/__init__.py", line 3, in <module>
    09:22 python: stdout/stderr (?):     from .base_client import Client, ClientConfig
    09:22 python: stdout/stderr (?):   File "/home/<user>/.local/lib/python3.10/site-packages/nio/client/base_client.py", line 35, in <module>
    09:22 python: stdout/stderr (?):     from ..crypto import ENCRYPTION_ENABLED
    09:22 python: stdout/stderr (?):   File "/home/<user>/.local/lib/python3.10/site-packages/nio/crypto/__init__.py", line 32, in <module>
    09:22 python: stdout/stderr (?):     from .key_request import OutgoingKeyRequest
    09:22 python: stdout/stderr (?):   File "/home/<user>/.local/lib/python3.10/site-packages/nio/crypto/key_request.py", line 21, in <module>
    09:22 python: stdout/stderr (?):     from ..responses import RoomKeyRequestResponse
    09:22 python: stdout/stderr (?):   File "/home/<user>/.local/lib/python3.10/site-packages/nio/responses.py", line 26, in <module>
    09:22 python: stdout/stderr (?):     from jsonschema.exceptions import SchemaError, ValidationError
    09:22 python: stdout/stderr (?):   File "/usr/lib/python3.10/site-packages/jsonschema/__init__.py", line 21, in <module>
    09:22 python: stdout/stderr (?):     from jsonschema._types import TypeChecker
    09:22 python: stdout/stderr (?):   File "/usr/lib/python3.10/site-packages/jsonschema/_types.py", line 168, in <module>
    09:22 python: stdout/stderr (?):     draft3_type_checker = TypeChecker(
    09:22 python: stdout/stderr (?): TypeError: TypeChecker() takes no arguments
    09:22 =!= python: unable to parse file "/home/<user>/bin/projects/dotfiles/.weechat/python/matrix.py"
    

    Versions:

    olm:                    3.2.4_1
    olm-devel:              3.2.4_1
    olm-python3:            3.2.4_2
    python3-openssl:        20.0.1_2
    python3-atomicwrites:   1.4.0_2
    python3-logbook:        1.5.3_3
    python3-jsonschema:     3.2.0_2
    python3-hyper-h2:       4.0.0_2
    python3-h11:            0.12.0_2
    python3-cachetools:     4.2.4_2
    python3-peewee:         3.14.4_2
    python3-aiohttp:        3.7.4_3
    python3-future:         0.18.2_5
    python3-attrs:          21.2.0_2
    python3-Pygments:       2.10.0_2
    python3-magic:          0.4.18_5
    python3-requests:       2.26.0_2
    
  2. thebeardedpapi commented on Oct 21, 2021

    @thebeardedpapi

    +1 - same issue as the description. On Fedora 35, with python 3.10.0

    I've tried python 3.9, 3.7 and 2.7, they all give me different errors when trying to load matrix.py in weechat.

  3. thatnerdjosh commented on Nov 20, 2021

    @thatnerdjosh

    I spent many hours today looking into this without much success :(... however I did make a docker image and summary of what I found in case anyone wants an easy way to reproduce it

    https://github.com/thatnerdjosh/reproduceable-envs/tree/main/weechat-matrix-293

  4. yalla commented on Nov 30, 2021

    @yalla

    Having the same problem and can't seem to find any way around it. Suggestions?

  5. hroncok commented on Dec 10, 2021

    @hroncok

    I believe this is a bug in Python subinterpreters: https://bugs.python.org/issue46034

  6. diabonas commented on Dec 13, 2021

    @diabonas
    Contributor

    I confirm that applying cmp_interned_strings.patch attached to the upstream Python issue bpo-46006 on top of Python 3.10.1 fixes the issue when trying to load the weechat-matrix script.

  7. Zapeth commented on Jan 21, 2022

    @Zapeth

    I no longer get this error with python 3.10.2 (void linux)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions