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

[Bug]: ImportError: cannot import name 'RouteCallable' from 'quart.typing' #393

Open
auroraslot opened this issue May 4, 2023 · 1 comment

Comments

@auroraslot
Copy link

Environment

- wechaty:
- wechaty-puppet: 
- wechaty-puppet-service: 
- wechaty-plugin-contrib: 
- token type: padlocal|wxwork|xp
- the version of wechaty docker container: [0.65]

Description

python3 -m pip install wechaty

irony@ironydeMBP moss % python3 -m pip install wechaty       
Defaulting to user installation because normal site-packages is not writeable
Collecting wechaty
  Using cached wechaty-0.10.7-py3-none-any.whl (1.6 MB)
Requirement already satisfied: pyee in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (9.0.4)
Requirement already satisfied: requests in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (2.28.2)
Requirement already satisfied: qrcode in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from wechaty) (7.4.2)
Requirement already satisfied: lxml in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (4.9.2)
Requirement already satisfied: wechaty-puppet>=0.4.19 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (0.4.23)
Requirement already satisfied: wechaty-puppet-service>=0.8.9 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (0.8.10)
Requirement already satisfied: quart in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from wechaty) (0.17.0)
Requirement already satisfied: opengraph-py3 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (0.71)
Collecting Quart-CORS (from wechaty)
  Using cached quart_cors-0.6.0-py3-none-any.whl (8.2 kB)
Requirement already satisfied: APScheduler in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (3.10.1)
Requirement already satisfied: SQLAlchemy in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (2.0.10)
Requirement already satisfied: PyGithub in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (1.58.1)
Requirement already satisfied: wechaty-grpc~=0.20.19 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-puppet-service>=0.8.9->wechaty) (0.20.19)
Requirement already satisfied: ping3 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-puppet-service>=0.8.9->wechaty) (4.0.4)
Requirement already satisfied: setuptools>=0.7 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from APScheduler->wechaty) (57.4.0)
Requirement already satisfied: six>=1.4.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from APScheduler->wechaty) (1.16.0)
Requirement already satisfied: pytz in /Users/irony/.local/lib/python3.9/site-packages (from APScheduler->wechaty) (2023.3)
Requirement already satisfied: tzlocal!=3.*,>=2.0 in /Users/irony/.local/lib/python3.9/site-packages (from APScheduler->wechaty) (4.3)
Requirement already satisfied: beautifulsoup4 in /Users/irony/.local/lib/python3.9/site-packages (from opengraph-py3->wechaty) (4.12.2)
Requirement already satisfied: typing-extensions in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from pyee->wechaty) (4.5.0)
Requirement already satisfied: deprecated in /Users/irony/.local/lib/python3.9/site-packages (from PyGithub->wechaty) (1.2.13)
Requirement already satisfied: pyjwt[crypto]>=2.4.0 in /Users/irony/.local/lib/python3.9/site-packages (from PyGithub->wechaty) (2.6.0)
Requirement already satisfied: pynacl>=1.4.0 in /Users/irony/.local/lib/python3.9/site-packages (from PyGithub->wechaty) (1.5.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (3.1.0)
Requirement already satisfied: idna<4,>=2.5 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (1.26.15)
Requirement already satisfied: certifi>=2017.4.17 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (2022.12.7)
Requirement already satisfied: pypng in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from qrcode->wechaty) (0.20220715.0)
Requirement already satisfied: aiofiles in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (23.1.0)
Requirement already satisfied: blinker in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (1.5)
Requirement already satisfied: click in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (8.1.3)
Requirement already satisfied: hypercorn>=0.11.2 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (0.14.3)
Requirement already satisfied: itsdangerous in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (2.1.2)
Requirement already satisfied: jinja2 in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (3.1.2)
Requirement already satisfied: markupsafe in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (2.1.2)
Requirement already satisfied: toml in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (0.10.2)
Requirement already satisfied: werkzeug>=2.0.0 in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (2.2.3)
Requirement already satisfied: h11 in /Users/irony/.local/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (0.14.0)
Requirement already satisfied: h2>=3.1.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (4.1.0)
Requirement already satisfied: priority in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (2.0.0)
Requirement already satisfied: wsproto>=0.14.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (1.2.0)
Requirement already satisfied: cryptography>=3.4.0 in /Users/irony/.local/lib/python3.9/site-packages (from pyjwt[crypto]>=2.4.0->PyGithub->wechaty) (40.0.2)
Requirement already satisfied: cffi>=1.4.1 in /Users/irony/.local/lib/python3.9/site-packages (from pynacl>=1.4.0->PyGithub->wechaty) (1.15.1)
Requirement already satisfied: pytz-deprecation-shim in /Users/irony/.local/lib/python3.9/site-packages (from tzlocal!=3.*,>=2.0->APScheduler->wechaty) (0.1.0.post0)
Requirement already satisfied: betterproto in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (1.2.5)
Requirement already satisfied: grpclib in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (0.4.3)
Requirement already satisfied: soupsieve>1.2 in /Users/irony/.local/lib/python3.9/site-packages (from beautifulsoup4->opengraph-py3->wechaty) (2.4.1)
Requirement already satisfied: wrapt<2,>=1.10 in /Users/irony/.local/lib/python3.9/site-packages (from deprecated->PyGithub->wechaty) (1.15.0)
Requirement already satisfied: pycparser in /Users/irony/.local/lib/python3.9/site-packages (from cffi>=1.4.1->pynacl>=1.4.0->PyGithub->wechaty) (2.21)
Requirement already satisfied: hyperframe<7,>=6.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from h2>=3.1.0->hypercorn>=0.11.2->quart->wechaty) (6.0.1)
Requirement already satisfied: hpack<5,>=4.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from h2>=3.1.0->hypercorn>=0.11.2->quart->wechaty) (4.0.0)
Requirement already satisfied: stringcase in /Users/irony/.local/lib/python3.9/site-packages (from betterproto->wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (1.2.0)
Requirement already satisfied: multidict in /Users/irony/.local/lib/python3.9/site-packages (from grpclib->wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (6.0.4)
Requirement already satisfied: tzdata in /Users/irony/.local/lib/python3.9/site-packages (from pytz-deprecation-shim->tzlocal!=3.*,>=2.0->APScheduler->wechaty) (2023.3)
Installing collected packages: Quart-CORS, wechaty
Successfully installed Quart-CORS-0.6.0 wechaty-0.10.7


运行Python脚本报错

Python脚本:
import asyncio
from typing import Union

from wechaty import Wechaty, Message, Room, Contact
from wechaty_puppet import FileBox


class MyBot(Wechaty):
    async def on_message(self, msg: Message):
        from_contact = msg.talker()
        text = msg.text()
        room = msg.room()
        if text == 'ding':
            conversation: Union[
                Room, Contact] = from_contact if room is None else room
            await conversation.ready()
            await conversation.say('dong')
            file_box = FileBox.from_url(
                'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/'
                'u=1116676390,2305043183&fm=26&gp=0.jpg',
                name='ding-dong.jpg')
            await conversation.say(file_box)

asyncio.run(MyBot().start())



报错日志:

Minimum reproducible code

/Users/irony/.pyenv/shims/python /Users/irony/pythonProjects/moss/client/wechat/my_bot.py
Traceback (most recent call last):
File "/Users/irony/pythonProjects/moss/client/wechat/my_bot.py", line 4, in
from wechaty import Wechaty, Message, Room, Contact
File "/Users/irony/.local/lib/python3.9/site-packages/wechaty/init.py", line 49, in
from .plugin import (
File "/Users/irony/.local/lib/python3.9/site-packages/wechaty/plugin.py", line 55, in
from quart_cors import cors
File "/Users/irony/.local/lib/python3.9/site-packages/quart_cors/init.py", line 16, in
from quart.typing import RouteCallable, WebsocketCallable
ImportError: cannot import name 'RouteCallable' from 'quart.typing' (/Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages/quart/typing.py)

@RedhairHambagu
Copy link

遇到了类似问题。quart版本问题更新就好了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants