Tooruchan / Telegram-CAPTCHA-Bot

基于Pyrogram的Telegram加群验证机器人开源实现。本仓库已停止更新,请移步至: https://github.com/Tooruchan/Telegram-CAPTCHA-bot-pyrogram
https://github.com/Tooruchan/Telegram-CAPTCHA-bot-pyrogram
GNU Affero General Public License v3.0
77 stars 18 forks source link

python3.6 下用最新的pyrogram无法运行 #9

Closed 0312birdzhang closed 5 years ago

0312birdzhang commented 5 years ago

手贱执行了一下pip3 install -U https://github.com/pyrogram/pyrogram/archive/asyncio.zip,然后就悲剧了,下面是运行的错误日志。

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    from pyrogram import (
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/__init__.py", line 39, in <module>
    from .client import *
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/__init__.py", line 19, in <module>
    from .client import Client
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/client.py", line 43, in <module>
    from pyrogram.client.methods.password.utils import compute_check
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/methods/__init__.py", line 19, in <module>
    from .bots import Bots
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/methods/bots/__init__.py", line 19, in <module>
    from .answer_callback_query import AnswerCallbackQuery
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/methods/bots/answer_callback_query.py", line 20, in <module>
    from pyrogram.client.ext import BaseClient
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/ext/__init__.py", line 19, in <module>
    from .base_client import BaseClient
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/ext/base_client.py", line 30, in <module>
    class BaseClient:
  File "/usr/local/lib/python3.6/dist-packages/pyrogram/client/ext/base_client.py", line 88, in BaseClient
    FileData = namedtuple("FileData", fields, defaults=(None,) * len(fields))
TypeError: namedtuple() got an unexpected keyword argument 'defaults'

查到的原因

https://stackoverflow.com/questions/11351032/namedtuple-and-default-values-for-optional-keyword-arguments

解决方法

装一个python3.7然后重新装一下依赖,完美运行。

Tooruchan commented 5 years ago

其实bot只要在 Python 3.6 以上和 Pyrogram 0.13.0.async 这个轮子底下都能正常运行,不过还是感谢提交 issue。

0312birdzhang commented 5 years ago

@Tooruchan 我就是在python3 + pyrogram 0.13.0 下面啊,之前的应该是 0.12.0版本,就3天前更新了一下,发现就用不了了。