如何在VScode终端上使用Python3?

时间:2019-07-16 16:43:45

标签: visual-studio-code vscode-settings python-3.7

有没有一种方法可以强制VS Code仅使用python3?无论我如何尝试,它始终默认为python2.7。我尝试选择正确的解释器为python3.7。当我打开终端时,它立即使用python2.7,在设置中它指向3.7,但是内置的终端很好,始终默认为2.7。

1 个答案:

答案 0 :(得分:0)

首先,请了解integrated terminal of VSCode默认情况下与Mac上的Terminal应用程序使用相同的环境。

  

使用的外壳在Linux和macOS上默认为$SHELL,在PowerShell上默认   Windows 10和Windows早期版本上的cmd.exe。这些可以是   通过在用户中设置terminal.integrated.shell.*手动覆盖   settings

enter image description here

在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设置:

enter image description here

,然后打开您的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补全脚本..)。