使VS Code终端与Mac上的调试环境匹配

时间:2019-06-14 08:53:17

标签: python macos visual-studio-code environment

我正在教一个初学者python类,环境是Anaconda,VS Code和git(以及requirements.txt的一些附加功能)。

对于Windows学生来说,这运行得很好,但是mac学生有一个现有的python(2.7)可以应对。

Windows学生(即他们有Windows计算机),调试时的环境与控制台环境匹配。但是,mac学生似乎被锁定在2.7环境中。

我已经尝试过使用别名herehere

alias python2='python'
alias python='python3'
alias pip2='pip'
alias pip='pip3'

我已经修改了.bash_profile文件

echo 'export PATH="/Users/$USER/anaconda3/bin:$PATH"' >>.bash_profile

当从VS Code外部启动时,这两者似乎都能完美地修改其终端环境。似乎都没有对[cmd] + [`]启动的环境起任何作用。

我也在终端中尝试了conda activate base,这似乎对python --versionwhich python都没有影响

他们 可以使用python 3来办事,但这意味着他们需要记住他们与其他2/3学生不同。对他们来说很不一样,对我来说还有更多的工作!

学生们很好,可以从外部终端启动事物,但是如果环境在各个OS上尽可能一致,则可以大大简化事物。

虽然他们是初学者,但是他们可以运行Shell脚本。他们目前有一个安装pip要求和vs代码扩展的程序。

是否存在可使终端与调试环境保持一致的配置?

3 个答案:

答案 0 :(得分:4)

在我看来,最佳实践是创建Python虚拟环境(我个人很喜欢使用conda环境,尤其是在Mac上,您使用不可删除的旧Python版本)。然后,VSCode将自动(在安装了非常强大的Python扩展程序之后)找到所有虚拟环境。这样,您将教给学生一个处理Python zoo a.k.a.软件包不兼容的良好实践。终端环境设置将与VSCode保持一致,而不必依赖于不再需要的任何别名。显然,虚拟环境是与操作系统无关的,因此您将更加一致,并消除了不同学生之间不必要的混乱。

virtenvs的另一个好处是,您可以完全按照自己的requirements.txt创建一个,然后单击一下即可从一个切换到另一个(在终端中,需要两个命令:deactivate-> { {1}})。

您可以在VSCode site上了解有关如何处理Python虚拟环境的更多信息

答案 1 :(得分:3)

鉴于别名仅运行一次且在.bash_profile中不持久,python的目标是默认解释器,而不是预期的conda python3解释器。

尝试符号链接conda的python3可执行文件以捕获python命名空间

ln -sf /Users/$USER/anaconda3/bin/python3 /Users/$USER/anaconda3/bin/python

这将创建或更新符号链接。对pippip3使用相同的方法。

答案 2 :(得分:3)

vscode中的Python,让您选择将使用哪个解释器来运行脚本。
它位于"python.pythonPath"下的设置中,只需将其设置为指向所选的解释器即可。
也可以基于项目进行设置(这是确保具有虚拟环境的项目将使用该解释器和程序包执行的方式),只需在设置窗格中选择 Workspace 并添加所需的python解释器。