“which python”和“sys.path”在 VSCode 中激活 conda env 时给出不同的输出

问题描述 投票:0回答:1

当我激活 conda env 时,选择相应的解释器并在 VScode 中启动 Python,乍一看一切似乎都很好:

   (My_env) name@my_computer:~/Bureau/My_env/Code/current_dir$       
   /home/name/anaconda3/envs/My_env/bin/python -m IPython --no-autoindent
   Python 3.12.4 | packaged by Anaconda, Inc. | (main, Jun 18 2024, 15:12:24) [GCC 11.2.0]
   Type 'copyright', 'credits' or 'license' for more information
   IPython 8.12.3 -- An enhanced Interactive Python. Type '?' for help.

sys.path
sys.version
产生相应的解释器。但是,如果我在终端中尝试
which python
python --version
,它指的是我的默认 python 版本(对应于基本环境)。

如果我在 VScode 之外重复相同的过程,就不会发生这种奇怪的行为:

which python
sys.path
产生相同的输出。

此外,在 VScode 内部和外部,

conda info
显示了基本环境的 Python 版本,无论激活了哪个环境。

在删除 conda 自动激活基本环境之前,我的 VScode 终端中显示了两个环境。

一些设置: VScode 版本:1.91.1 提交:f1e16e1e6214d7c44d078b1f0607b2388f29d729 日期:2024-07-09T22:08:12.169Z 电子:29.4.0 ElectronBuildId:9728852 铬:122.0.6261.156 Node.js:20.9.0 V8:12.2.281.27-电子.0 操作系统:Linux x64 6.5.0-41-generic snap

conda info
的输出:

     active environment : My_env
     active env location : /home/name/anaconda3/envs/My_env
            shell level : 1
       user config file : /home/name/.condarc
    populated config files : /home/name/.condarc
          conda version : 24.1.2
    conda-build version : 24.1.2
         python version : 3.11.7.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=24.1.2=0
                          __glibc=2.35=0
                          __linux=6.5.0=0
                          __unix=0=0
       base environment : /home/name/anaconda3  (writable)
      conda av data dir : /home/name/anaconda3/etc/conda
     conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/name/anaconda3/pkgs
                          /home/name/.conda/pkgs
       envs directories : /home/name/anaconda3/envs
                          /home/name/.conda/envs
               platform : linux-64
             user-agent : conda/24.1.2 requests/2.31.0 CPython/3.11.7 Linux/6.5.0-41-generic
    ubuntu/22.04.4 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.6
    aau/0.4.3 c/o84sDdTYbleS3dVd3NF1Aw s/kgiszGL1njuqJYlZjLUa-w e/JXereckVRhPg5ZEODdeeVw
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False

操作系统:Ubuntu 22.04 LTS,64 位

我尝试更改 conda 的设置(删除基本环境自动激活),但这没有帮助。

我也尝试了

hash -r
,因为我发现它可能会影响
which
的行为,但没有帮助。

python visual-studio-code anaconda conda
1个回答
0
投票

为了确保 VSCode 中的虚拟环境处于活动状态,您可以尝试以下步骤:

  1. 通过 VSCode 命令选择虚拟环境 python 解释器Python:选择解释器
  2. 打开您的
    settings.json
    并添加以下配置以确保终端激活Conda环境:
{
  "python.terminal.activateEnvironment": true,
  "python.condaPath": "/path/to/anaconda3/bin/conda" 
}
  1. 您还可以检查您的环境变量。有时,环境变量可能会导致冲突。确保在激活环境时正确设置您的PATH。您可以在
    .bashrc
    .zshrc
    文件中添加额外的检查:
    export PATH="/home/name/anaconda3/envs/My_env/bin:$PATH"
© www.soinside.com 2019 - 2024. All rights reserved.