问题
在win中安装完anconda,但是在 windows powershell中一直无法进入base虚拟环境
并且使用conda info --envs时,这个地方没有*

这是因为 Conda 还没有在 PowerShell 中完成初始化配置,导致整个 Conda 环境激活机制都没有正常工作,所以连默认的 base 环境也不会自动激活,自然就看不到 * 标记了。
可以一步一步排查:
第一步:先确认 PowerShell 执行策略
这是最常见的根本原因,PowerShell 默认会阻止运行未签名的脚本,导致 conda init 生成的配置无法生效。
以管理员身份打开 PowerShell

查看当前执行策略
执行命令:
bash
Get-ExecutionPolicy
如果返回 Restricted(默认值),就会完全阻止脚本运行。
如果返回 RemoteSigned,则是正常状态。
修改执行策略(仅当前用户)
执行这条命令,临时放开脚本执行限制(安全无风险):
bash
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
有的在打开这个排查之后就可以的
可以参考下面这篇文章:
安装Anaconda(miniconda)后如何在powershell使用conda activate命令(Windows)
第二步:检查并强制加载 Conda 初始化脚本
打开 PowerShell 配置文件
在任意 PowerShell 窗口执行:
bash
notepad $PROFILE
如果提示文件不存在,那就需要创建它。
没问题,$PROFILE 对应的 PowerShell 配置文件默认是不会自动创建的,我们需要手动生成它,然后把 Conda 的初始化代码加进去。
1. 先创建配置文件
在 PowerShell 里执行这条命令,会直接生成你的个人配置文件:
powershell
New-Item -Path $PROFILE -Type File -Force
执行后会提示 已创建文件,说明配置文件已经生成了。
2. 写入 Conda 初始化代码
-
执行命令打开刚创建的配置文件:
powershellnotepad $PROFILE -
在打开的记事本里,复制粘贴下面这段完整的 Conda 初始化代码 :
powershell#region conda initialize # !! Contents within this block are managed by 'conda init' !! if (Test-Path "F:\anaconda\shell\condabin\conda-hook.ps1") { . "F:\anaconda\shell\condabin\conda-hook.ps1" } if (Get-Command conda -ErrorAction SilentlyContinue) { conda activate base } #endregion -
保存并关闭记事本。
3. 让配置立即生效
在 PowerShell 里执行这条命令,加载刚修改的配置文件:
powershell
. $PROFILE
(注意命令开头的 . 和后面的空格,这是重新加载配置的关键)
4. 验证效果
执行后,你的提示符左侧会立即出现 (base) 前缀,再执行 conda info --envs,base 环境前就会出现 * 标记了。
此时再执行 conda activate aimedia,就能正常切换到目标环境,提示符也会变成 (aimedia)。

