从Visual Studio Code内部运行python时出现无效的语法错误

时间:2018-07-26 13:44:59

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

我的计算机上保存了以下内容的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扩展名。

run python file from within Visual Studio Code

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

有人从VS Code中运行该问题是什么吗?

9 个答案:

答案 0 :(得分:10)

认为这是VS Code的错误。

当您使用“ 在python终端中运行选择/行”命令时,VS Code将启动python解释器,并在完成后不将其退出。

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

之后,“在终端中运行python文件”将正常工作。

答案 1 :(得分:1)

这似乎是VS Code中的错误。

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

尝试更改默认终端设置时遇到了此问题。我经常遇到这样的情况:“ “在终端中运行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",

答案 5 :(得分:0)

对我来说,问题是我不小心使用了 Shift  + 返回  它实际上执行了 CTRL  + 返回  在不触摸鼠标的情况下移至下一行。

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

答案 6 :(得分:0)

在设置中禁用terminal.integrated.inheritEnv。这是VSCode为我建议的,并且有效。

答案 7 :(得分:0)

我发现问题是由循环功能后的空格引起的。 所以我要做的是减轻压力 列印() 脚本结尾处的声明

答案 8 :(得分:-1)

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