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

从Visual Studio代码内部运行python时出现无效语法错误,python,python-3.x,visual-studio-code,syntax-error,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 sai

我的机器上保存了一个包含以下内容的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代码中使用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
/usr/local/opt/python/bin/python3.7/Users/andree/Desktop/test.py
文件“”,第1行
/usr/local/opt/python/bin/python3.7/Users/andree/Desktop/test.py
^
SyntaxError:无效语法
在下面的屏幕截图中,您可以看到我用来运行文件的命令,以及我使用的python扩展名

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


有人知道在VS代码中运行时会出现什么问题吗?

看起来这是VS代码中的一个bug

当我创建一个新文件时,将python语言分配给它,然后保存它,当我从编辑器中运行python文件时,它就会工作


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

我找到了一个解决方案,安装“pylint”。我在VisualStudio中收到一条弹出消息,要求我下载此扩展。我做到了,之后我就可以运行我的代码了

我认为这是VS代码的一个bug

当您使用“在python终端中运行selection/line”命令时,VS代码启动python解释器,并在完成后不退出它

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


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

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

下面是我用来解决语法错误问题的设置

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

注意:由于终端默认为Powershell,因此必须键入Python以将手动命令直接输入到Python终端中,并退出()以将其关闭以允许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",
工作区设置

{
"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",
文件夹设置

{
"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",

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

我的问题是我不小心使用了 移位 + 返回 它执行了python程序,而实际上我是想 控制键 + 返回 在不触摸鼠标的情况下移动到下一行


在控制台中使用
exit()
命令工作。

在设置中禁用terminal.integrated.inheritEnv。这是VSCode为我提出的建议,它起了作用。

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

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

我相信VSC中的Python解释器设置/路径可能会有点奇怪。你能确认一下吗?我的终端使用/usr/local/bin/python3,vs代码使用/usr/local/opt/python/bin/python3.7。但是当我在终端中使用path vs code uses as命令时,它也可以工作,VSC尝试在python交互式shell中执行行
/usr/local/opt/python/bin/python3.7/./test.py
,这显然是错误的。不确定这是怎么回事。只是要弄清楚这一点:如果你在Python解释器中堆叠(在终端“>>”)输入/写入“exit()”、“quit()”,或者选择“Ctrl-Z”重新启动vs代码在安装pylintYep后为我修复了这一问题,安装后需要重新启动pylint才能正常工作。我以前也遇到过错误消息的问题。我必须重新启动vscode,但是安装pylint对我来说很有效,但是在安装pylint之后重新启动vscode也很有效!谢谢。我认为这应该被认为是一个bug,而不是直观的。