繁体   English   中英

ImportError:无法从部分初始化的模块“电报”导入名称“机器人”

[英]ImportError: cannot import name 'Bot' from partially initialized module 'telegram'

每当我使用命令pip install telegram-bot in cmd 时,我都会收到此错误:

    C:\Windows\system32>pip install telegram-bot
Collecting telegram-bot
Using cached telegram-bot-0.1.tar.gz (51 kB)
    ERROR: Command errored out with exit status 1:
     command: 'c:\program files\python39\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\miclo\\AppData\\Local\\Temp\\pip-install-j1l7uwqx\\telegram-bot_a7d2b1d51c264e718c85210726554603\\setup.py'"'"'; __file__='"'"'C:\\Users\\miclo\\AppData\\Local\\Temp\\pip-install-j1l7uwqx\\telegram-bot_a7d2b1d51c264e718c85210726554603\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\miclo\AppData\Local\Temp\pip-pip-egg-info-4qf8pb7l'
         cwd: C:\Users\miclo\AppData\Local\Temp\pip-install-j1l7uwqx\telegram-bot_a7d2b1d51c264e718c85210726554603\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\miclo\AppData\Local\Temp\pip-install-j1l7uwqx\telegram-bot_a7d2b1d51c264e718c85210726554603\setup.py", line 12, in <module>
        import telegram
      File "C:\Users\miclo\AppData\Local\Temp\pip-install-j1l7uwqx\telegram-bot_a7d2b1d51c264e718c85210726554603\telegram\__init__.py", line 15, in <module>
        from telegram import Bot, ChatActions
    ImportError: cannot import name 'Bot' from partially initialized module 'telegram' (most likely due to a circular import) (C:\Users\miclo\AppData\Local\Temp\pip-install-j1l7uwqx\telegram-bot_a7d2b1d51c264e718c85210726554603\telegram\__init__.py)
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

我已经安装了最新版本的 Python 并升级了 pip,但没有任何改变。 我使用Pycharm作为 IDE。 当我尝试从 Pycharm 安装此模块时,我收到相同的错误:

Collecting telegram-bot
  Using cached telegram-bot-0.1.tar.gz (51 kB)

DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated and has no effect anymore. pip 21.1 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
    ERROR: Command errored out with exit status 1:
     command: 'D:\Development\telegram\venv\Scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\miclo\\AppData\\Local\\Temp\\pip-install-60osryel\\telegram-bot_02585524af70443f98a2a69b3da7ae38\\setup.py'"'"'; __file__='"'"'C:\\Users\\miclo\\AppData\\Local\\Temp\\pip-install-60osryel\\telegram-bot_02585524af70443f98a2a69b3da7ae38\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\miclo\AppData\Local\Temp\pip-pip-egg-info-0ihid_ld'
         cwd: C:\Users\miclo\AppData\Local\Temp\pip-install-60osryel\telegram-bot_02585524af70443f98a2a69b3da7ae38\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\miclo\AppData\Local\Temp\pip-install-60osryel\telegram-bot_02585524af70443f98a2a69b3da7ae38\setup.py", line 12, in <module>
        import telegram
      File "C:\Users\miclo\AppData\Local\Temp\pip-install-60osryel\telegram-bot_02585524af70443f98a2a69b3da7ae38\telegram\__init__.py", line 15, in <module>
        from telegram import Bot, ChatActions
    ImportError: cannot import name 'Bot' from partially initialized module 'telegram' (most likely due to a circular import) (C:\Users\miclo\AppData\Local\Temp\pip-install-60osryel\telegram-bot_02585524af70443f98a2a69b3da7ae38\telegram\__init__.py)
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

我正在尝试构建一个电报机器人并使用 Heroku 托管它。 在 cmd 中键入heroku logs -t时,我得到类似的信息:

2020-12-04T20:24:35.852594+00:00 app[web.1]: File "main.py", line 5, in <module>
2020-12-04T20:24:35.852826+00:00 app[web.1]: from telegram.ext import CommandHandler, MessageHandler, Filters, Updater
2020-12-04T20:24:35.852831+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/telegram/ext/__init__.py", line 21, in <module>
2020-12-04T20:24:35.853028+00:00 app[web.1]: from .basepersistence import BasePersistence
2020-12-04T20:24:35.853033+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/telegram/ext/basepersistence.py", line 25, in <module>
2020-12-04T20:24:35.853242+00:00 app[web.1]: from telegram import Bot
2020-12-04T20:24:35.853243+00:00 app[web.1]: ImportError: cannot import name 'Bot'

这些是我的进口:

import os
import telebot
import xlrd
from flask import Flask, request
from telegram.ext import CommandHandler, MessageHandler, Filters, Updater

原因 - 错误的库

pip install telegram-bot

远程机器人

你可以想使用 Telebot,你应该安装pyTelegramBotAPI

立体图

我还建议尝试现代流行的框架: aiogram

尝试pip install python-telegram-bot

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM