有没有一种方法可以强制VS Code仅使用python3?无论我如何尝试,它始终默认为python2.7。我尝试选择正确的解释器为python3.7。当我打开终端时,它立即使用python2.7,在设置中它指向3.7,但是内置的终端很好,始终默认为2.7。
答案 0 :(得分:0)
首先,请了解integrated terminal of VSCode默认情况下与Mac上的Terminal应用程序使用相同的环境。
使用的外壳在Linux和macOS上默认为
$SHELL
,在PowerShell上默认 Windows 10和Windows早期版本上的cmd.exe
。这些可以是 通过在用户中设置terminal.integrated.shell.*
手动覆盖 settings。
在Mac上,默认$SHELL
是/bin/bash
,对于Python2.7使用python
。因此,VS Code将仅使用相同的python
来表示Python2.7。打开bash shell时,它将加载~/.bash_profile
以应用自定义别名和添加到其中的其他配置。
解决此问题的一种方法是将~/.bash_profile
别名python
改成python3
。但这我不推荐,因为这会影响您的所有bash会话,甚至是VS Code之外的会话。当您运行需要python
才能成为系统Python2.7的脚本时,这可能导致讨厌的副作用。
您可以将VSCode配置为为其自身的集成终端加载其自己的别名。首先,在您的主目录中创建一个名为 vscode.bash_profile 的文件:
$ cat ~/vscode.bash_profile
alias python=$(which python3)
在我的环境中,python3
是Python3.7。您可以将其设置为适用于您的环境的内容(例如python3.7
)。然后,在VS Code中,查找Terminal shell args设置:
,然后打开您的settings.json并添加以下行:
"terminal.integrated.shellArgs.osx": [
"--init-file",
"~/vscode.bash_profile",
]
最后,重新启动VS代码。下次打开VS Code终端时,python
现在应该使用Python 3安装。这不会影响VS Code之外的bash会话。
请注意,如果您有一些来自默认~/.bash_profile
的自定义设置,则可能需要将其复制到~/vscode.bash_profile
上,以便仍可以在VS Code上使用它(例如,更改到PATH
,git补全脚本..)。