【问题标题】:Async def invalid syntax异步定义无效语法
【发布时间】:2018-05-30 15:40:05
【问题描述】:

(使用 Python 3.6)

你好!

我实际上正在制作一个 Python Discord 机器人(用于学校项目),我在这部分代码中遇到了一个小问题:

    async def on_message(self, message):
    if not message.author.bot:
        ctx = await bot.get_context(message)
        await self.invoke(ctx)

这是错误信息:

File "/Users/dorian/Desktop/ISN/ISNbotv2/bot.py", line 47
async def on_message(self, message):
        ^
SyntaxError: invalid syntax
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/Users/dorian/Desktop/ISN/ISNbotv2/bot.py"]
[dir: /Users/dorian/Desktop/ISN/ISNbotv2]
[path:
/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]

奇怪的是,当我用我的电脑启动脚本时,机器人正在工作,不幸的是,我只在我必须用于学校项目的 MAC 上出现此错误。

感谢您的帮助(如果我犯了英语错误,我很抱歉,而不是我的主要语言)

【问题讨论】:

  • 您可以通过import sys; print(sys.version) 来确认一下吗?
  • @Tobias 我得到:2.7.10(默认,2017 年 2 月 7 日,00:08:15)[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] [Finished 0.1s]
  • 好了——你使用的是 Python 2.7.10,而不是 3.6。
  • 哦,你是对的,但我的电脑上也有 IDLE Python 3.6.5,但显然 Sublime Texte 使用的是 Python 2.7.10,有没有办法将 3.6 与 ST3 一起使用?
  • @MisubataNightcore 是的,在another question 中回答了

标签: python python-3.x


【解决方案1】:

通过脚本仔细检查您的版本。 导入系统; 打印(系统版本)

人们通常在系统附带的现有 python 2.x 之上安装 python 3.7。运行命令时,有时您会忘记将其作为 python3.7 运行,而不仅仅是运行 python2 的简单的 python。

因此会导致错误“Async def invalid syntax”

运行python3.7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多