【问题标题】:Invalid Syntax error when running python from inside Visual Studio Code从 Visual Studio Code 内部运行 python 时出现无效的语法错误
【发布时间】:2019-01-03 13:00:02
【问题描述】:

我的机器上保存了一个包含以下内容的 python 文件:

types_of_people = 10
x = f"There are {types_of_people} types of people"

binary = "binary"
do_not = "don't"
y = f"Those who know {binary} and those who {do_not}."

print(x)
print(y)

print(f"i said: {x}")
print(f"I also said: '{y}'")

hilarious = False
joke_evaluation = "Isn't that joke so funny?! {}"

print(joke_evaluation.format(hilarious))
w = "This is the left side of ..."
e = "a string with a right side."

print(w + e)

当我在 Visual Studio Code 中使用 Python 3.7 打开此文件时,出现以下错误:

/usr/local/opt/python/bin/python3.7 /Users/andree/Desktop/test.py
  File "<stdin>", line 1
    /usr/local/opt/python/bin/python3.7 /Users/andree/Desktop/test.py
    ^
SyntaxError: invalid syntax

在以下屏幕截图中,您可以看到我用来运行文件的命令以及我使用的 python 扩展。

但是在我的终端中使用python3 test.py 运行文件就可以了。

有人知道在 VS Code 中运行它时出现什么问题吗?

【问题讨论】:

  • 我相信 VSC 中的 Python 解释器设置/路径可能有些奇怪。你能确认这些吗?
  • 我的终端使用 /usr/local/bin/python3 而 vs 代码使用 /usr/local/opt/python/bin/python3.7。但是当我在终端中使用路径 vs 代码用作命令时,它也可以正常工作
  • 好吧,VSC 尝试在 python 交互式 shell 中执行 /usr/local/opt/python/bin/python3.7 /../test.py 行,这显然是错误的。不知道这是怎么回事。
  • 只要明确这个线程:如果你在 Python 解释器中堆叠(当你有终端“>>”时)输入/写入“exit()”,“quit()”,或选择"Ctrl-Z"

标签: python python-3.x visual-studio-code syntax-error


【解决方案1】:

认为这是 VS Code 的错误。

当你使用“run selection/line in python terminal”命令时,VS Code会启动python解释器,完成后不会退出。

您应该在 python 解释器窗口中使用exit() 命令来结束 python 会话。

之后“在终端中运行 python 文件”就可以正常工作了。

【讨论】:

  • 非常感谢。我认为这应该被认为是一个错误,根本不直观。
【解决方案2】:

看起来这是 VS Code 中的一个错误。

当我创建一个新文件时,为其分配 python 语言,然后保存它,然后当我在编辑器中运行 python 文件时它可以工作。

但是当我创建一个新文件时,分配 python 语言但不保存它,然后执行“在 Python 终端中运行选择/行”保存它然后运行“在终端中运行 Python 文件”它不起作用。所以这似乎是一个与 VS Code 相关的问题。

【讨论】:

  • 安装 pylint 后重新启动 vs 代码为我解决了这个问题
  • 是的,pylint 安装后需要重新启动才能正常工作。我之前也遇到过同样的错误消息。
【解决方案3】:

我的问题是我不小心使用了 换档 + 返回 它执行了 python 程序,而实际上我打算点击 CTRL + 返回 在不触摸鼠标的情况下移动到下一行。

在控制台中使用exit() 命令有效。

【讨论】:

    【解决方案4】:

    这可能是 VS 代码中的错误。我不知道为什么没有这个补丁。 在终端中输入exit() 后,重新运行应该可以正常工作。您也可以尝试Ctrl+F5 在调试模式下运行。

    【讨论】:

      【解决方案5】:

      在设置中禁用 terminal.integrated.inheritEnv。这是 VSCode 为我建议的,它奏效了。

      【讨论】:

      • 是的,也为我工作。我之前自信地忽略了 VSCode 的这个建议。现在,我在这里有那个啊……时刻。
      【解决方案6】:

      我找到了解决这个问题的方法,安装“pylint”。我在 Visual Studio 中有一条弹出消息,要求我下载此扩展程序。我做到了,之后我就可以运行我的代码了!

      【讨论】:

      • 我不得不重新启动 vscode,但是安装 pylint 工作了 4 个我
      【解决方案7】:

      我在尝试更改我的默认终端设置时遇到了这个问题。我不断遇到这样的情况:“在终端中运行 Python 文件” 命令会导致语法错误,而“在 Python 终端中运行选择/行”命令会出错,但是仍然显示结果。至少可以说令人恼火。

      这是我用来解决语法错误问题的设置。

      注意:启用 Pylint 并没有解决我的问题,事实上,即使选择启用它,它也会继续弹出。这些特定的用户/工作区/文件夹设置也为我解决了这个问题。

      注意:由于终端默认为Powershell,所以你必须输入Python直接在python终端输入手动命令,然后exit()关闭它才能让python文件再次正常运行。

      用户设置

      {
      "terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
      }
      

      工作空间设置

      "settings": {
          "terminal.integrated.shell.windows": "C:\\Python3.7.2\\python.exe",
      }
      

      文件夹设置

      "python.linting.pylintEnabled": true,
      "python.pythonPath": "C:\\Python3.7.2\\python.exe",
      

      【讨论】:

        【解决方案8】:

        我遇到了同样的问题,但是当我使用“不调试启动”运行代码时,代码会为我运行。这也可以通过快捷键 CTRL + F5 来完成。

        【讨论】:

        • 对我有用,但是在安装 pylint 后重新启动 vscode 也可以!
        【解决方案9】:

        我发现问题是由循环函数后的尾随空格产生的。 所以我要缓解它是添加一个空 打印 () 脚本末尾的语句

        【讨论】:

          【解决方案10】:

          我遇到了同样的问题,只需重新启动它对我有用的 Vs-Code !

          【讨论】:

            猜你喜欢
            • 2019-07-31
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-11-30
            • 1970-01-01
            相关资源
            最近更新 更多