【问题标题】:"from __future__ import annotations" results in "annotations is not defined" in VSCode“从 __future__ 导入注释”导致 VSCode 中的“注释未定义”
【发布时间】:2019-07-26 08:31:31
【问题描述】:
    from __future__ import annotations
SyntaxError: future feature annotations is not defined

当我尝试在 VSCode 终端中运行我的代码时出现此错误。当我用 PyCharm 运行我的代码时,我从来没有遇到过这个错误。我只是不明白是什么使它在 VSCode 中不起作用。

我使用 Python 3.7 作为我的项目解释器。

【问题讨论】:

  • 我们需要更多信息来帮助解决这个问题。你的 vscode 终端是如何设置的?它使用的是什么 Python 解释器(系统、用户、本地)?你用什么插件来做python?您使用的是什么操作系统? pycharm 也有同样的问题。
  • 听起来 Python 3.7 不是在您的 VSCode 终端中运行的。您可以通过查看控制台会话的开始来检查这一点(您会看到类似“Python 3.5.2(默认,2018 年 11 月 12 日,13:43:14”作为第一行)。您也可以import sys; print(sys.version) .
  • 你是如何“在 VSCode 终端”运行你的代码的?您是右键单击 > 在终端中运行 Python 文件 还是使用调试器或在终端上手动输入 python3 yourfile.py? Python 3.7 应该没有问题,除非您实际上没有使用 Python 3.7。
  • @JohnSzakmeister 在左下角,它说我使用的是 3.7.2。我还在命令面板中将版本更改为 3.7.2,但是当我使用 print(sys.version) 执行您所说的操作时,它会打印 3.5,我不确定为什么会这样。
  • @BemjaminZhuo 不幸的是,我不能真正说出如何修复 PyCharm 或 VSCode(我不使用它们中的任何一个)。我的猜测是,这与您的终端环境有很大关系。您需要首先确保 Python37 在您的路径上(请参阅this,了解如何编辑您的环境)。这样当你输入“python3”时,3.7 版本的 python3.exe 会首先被找到。 VSCode 不负责您的终端设置,因此您可以自行决定该部分是否正确。 :-(

标签: python python-3.x import visual-studio-code


【解决方案1】:

除非您创建了一个虚拟环境并选择它作为您的解释器,否则键入 python3 myfile.py 之类的内容并不能保证您使用的是您在 VS Code 中选择的 Python 解释器(它在您的 shell 的控制下,而不是 VS Code)。请务必使用Run Python File in Terminal,因为这将确保您的文件使用选定的 Python 解释器运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 2015-05-26
    • 2021-08-16
    • 1970-01-01
    • 2020-11-10
    相关资源
    最近更新 更多