无法在工作区外的 VSCode 中使用 conda python 版本
Posted
技术标签:
【中文标题】无法在工作区外的 VSCode 中使用 conda python 版本【英文标题】:Not able to use conda python version in VSCode outside of workspace 【发布时间】:2021-12-10 11:38:45 【问题描述】:在 VSCode 的工作区中的脚本之外执行 python 命令时,我无法使用基本 conda python 版本。尽管我在用户设置中指定了 python.pythonPath,但还是会这样做。问题只发生在VSCode中
首先,我使用的是装有 OS Big Sur(版本 11.6)的 Mac。我在以下位置安装了 miniconda: /Users/用户名/opt/miniconda3
.zshrc 中有 conda 初始化脚本
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/matthiaslenfers/opt/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/matthiaslenfers/opt/miniconda3/etc/profile.d/conda.sh" ]; then
. "/Users/matthiaslenfers/opt/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/Users/matthiaslenfers/opt/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
默认情况下打开终端时,我处于 conda 基础环境中。
(base) username@Matthiass-MBP ~ % which python
/Users/username/opt/miniconda3/bin/python
正如您在终端中看到的 VScode 之外的那样,我在使用 conda 基础 python 版本时没有任何问题。
在 VSCode 内部,我打开了一个工作区并将设置更改为特定的 conda python 版本(我也更改了一般用户设置)
User Setting
"python.pythonPath": "/Users/matthiaslenfers/opt/miniconda3/bin/python"
Workspace Setting
"python.pythonPath": "/Users/matthiaslenfers/opt/miniconda3/envs/example_project/bin/python"
从工作区 example_project 中的文件 example.py 执行一行(将 pandas 导入为 pd)时(通过突出显示它,然后按 ⇧ + Enter)我得到以下结果:
source activate example_project
/Users/username/opt/miniconda3/envs/example_project/bin/python
import pandas as pd
(base) username@Matthiass-MBP example_project % source activate example_project
(example_project) username@Matthiass-MBP example_project % /Users/username/opt/miniconda3/envs/example_project/bin/python
Python 3.7.11 (default, Jul 27 2021, 07:03:16)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
所以我的conda环境example_project的正确python版本就自动使用了
另一方面,当我在 VSCode 中打开一个新终端并检查 python 版本和位置时,我得到以下结果,活动 python 版本是 /usr/local/bin/python
(base) username@Matthiass-MBP example_project % which python
python --version
Python 2.7.15
(base) username@Matthiass-MBP example_project % which python
/usr/local/bin/python
为什么 /Users/username/opt/miniconda3/bin 中的不是 Python 版本?表明 (base) 在 VSCode 终端中,但是执行了另一个 python 版本
我很困惑!
【问题讨论】:
【参考方案1】:您选择的 python 解释器的值是多少。您可以从 VSCode 的左下角获取它。
选择python解释器后,在VSCode中新建终端(Ctrl+Shift+`的快捷键),python扩展会帮你自动激活环境如下:
您可以查看official docs。解释清楚了。
【讨论】:
以上是关于无法在工作区外的 VSCode 中使用 conda python 版本的主要内容,如果未能解决你的问题,请参考以下文章
VsCode问题:CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘.C
PATH 未从 VSCode 终端中的 conda activate 正确更新