无论我做啥[重复],VSCode Python版本在集成终端中默认为2.7
Posted
技术标签:
【中文标题】无论我做啥[重复],VSCode Python版本在集成终端中默认为2.7【英文标题】:VSCode Python version defaults to 2.7 in the integrated terminal no matter what I do [duplicate]无论我做什么[重复],VSCode Python版本在集成终端中默认为2.7 【发布时间】:2020-01-02 22:11:19 【问题描述】:我在 MacOS Mojave 10.14.6 上运行 VSCode 1.36.0
。
当我在 VSCode 中使用集成终端并运行 Python 时,它总是从 MacOS 上的/usr/bin/python
运行 Python 2.7,而不是默认的 anaconda Python。如果我在系统终端中做同样的事情,一切都很好。
我查看了这两个相关问题的答案:
Why Is macOS Visual Studio Code Using Wrong Python Interpreter?
How can I change python version in Visual Studio Code?
我没有运行代码运行程序扩展。我已将python.pythonPath
设置更新为指向Anaconda Python,但无论我做什么,集成终端中的which python
都会返回/usr/bin/python
。使用 conda activate myenv
选择不同的 conda 环境也无济于事。
以前没有遇到过这个问题。
【问题讨论】:
【参考方案1】:通过执行echo $SHELL
获取默认终端的shell路径
这应该输出类似/bin/bash
现在检查 VSCode 集成终端是否指向同一个 shell,如果没有,请将 VSCode 的集成 shell 设置为您的终端之一。
编辑(提供完整的解决方案):
vsCode 将每个新的 shell 作为登录 shell 运行
因此,如果您在 .bashrc
中设置 Anaconda 路径,它将不会在集成 shell 中设置。
如果是这种情况,可以设置"terminal.integrated.shellArgs.osx": []
强制vsCode运行非登录shell并加载.bashrc
【讨论】:
集成终端和系统终端都返回/bin/bash
vsCode 将每个新 shell 作为登录 shell 运行,因此如果您在 .bashrc
中设置 Anaconda 路径,它将不会在集成 shell 中设置。如果是这种情况,您可以设置"terminal.integrated.shellArgs.osx": []
强制vsCode 运行非登录shell 并加载.bashrc
非常感谢@skat!几个月来一直面临这个问题。不得不使用默认终端数月。现在我可以使用集成终端了!。以上是关于无论我做啥[重复],VSCode Python版本在集成终端中默认为2.7的主要内容,如果未能解决你的问题,请参考以下文章
无论我做啥,都可以保存 Visual Studio Code 格式。我该如何阻止这个?