『debug心路』powershell 中无法激活 conda 环境

2021-02-12 17:49:25 浏览数 (1)

工作需求原因,拿到一台新电脑,首先需要安装 python 。一般地,我用 conda 管理自己的 python 环境。

Anaconda Prompt

使用 conda 管理环境,大多需要用到命令行。使用 Anaconda 自带的 Anaconda Prompt 虽然没什么问题,但终究没有集成到自己的命令行工具中,对我而言,多开命令行很麻烦。

一般,我会把所有命令行工具集成到 powershell 中,软件用 Windows Terminal这里遇到了 bug 。

问题描述

安装了 Anaconda 。输入 conda activate <环境名称> 命令后,并没有切换环境。也没有报错。

即,无法用 powershell 激活 conda 环境 。

但是用 Anaconda Prompt 就可以,如下图。

Anaconda Prompt

如上,在输入 conda activate avatarify 后,环境变为了 avatarify

问题分析

输入 conda 后没有报错,说明:

•Anaconda 在安装时,已经自动地将其自带的二进制文件/可执行文件路径放到了系统变量的Path中, conda 没有问题•因此,推断是 powershell 内部原因,没有与 conda 集成。我们无法探究内部到底发生了什么,只能去互联网检索相关信息•检索关键词:powershell无法激活condaanaconda无效切换环境

解决方案

在以下两个参考资料里找到了解决方案:

•https://www.zhihu.com/question/58573630/answer/260532828•https://stackoverflow.com/questions/47800794/how-to-activate-different-anaconda-environment-from-powershell/54811138#54811138

第二份资料更有用

在 powershell 中输入:

代码语言:javascript复制
conda init powershell

问题解决。

我的 powershell

如上图,修复后,出现环境的标识。并且,也要比自带命令行美观很多。

我的 powershell 配置:https://github.com/PiperLiu/OS-rc-profiles

思考与拓展

出现问题,主要是因为我们通常只是把 conda 作为一种工具,而不是先系统地学习。

其实,在 conda 自带的说明中,有相关的命令。

peace.

0 人点赞