当我激活 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
的行为,但没有帮助。
为了确保 VSCode 中的虚拟环境处于活动状态,您可以尝试以下步骤:
settings.json
并添加以下配置以确保终端激活Conda环境:{
"python.terminal.activateEnvironment": true,
"python.condaPath": "/path/to/anaconda3/bin/conda"
}
.bashrc
或 .zshrc
文件中添加额外的检查: export PATH="/home/name/anaconda3/envs/My_env/bin:$PATH"