详细教程__--PyCharm Terminal--切conda环境详解

PyCharm Terminal 中彻底搞定 Conda 环境切换(超详细教程)

一、问题根源(搞懂原因,你就不慌了)

当你打开 PyCharm 底部的 Terminal 窗口时,它实际上启动的是你系统里的 PowerShell (或 CMD)程序。

但是,这个 PowerShell 并没有自动加载 Conda 的初始化脚本 ,(没有设置path实际)所以它根本不知道 conda 这个命令是什么,自然就会报 无法将"conda"项识别为 cmdlet...

而我们在 Windows 开始菜单里打开的"Anaconda Prompt"或"Anaconda PowerShell Prompt"之所以能用 conda,是因为它们启动时自动执行了 一个叫做 conda-hook.ps1 的脚本,这个脚本把 Conda 需要的各种函数和路径挂载到当前会话中。

所以,我们要做的事情很简单:在 PyCharm 的 Terminal 里,手动执行那个脚本,让当前会话识别 conda

之后我们还可以通过 conda init 把这个初始化过程写入 PowerShell 的配置文件,以后每次打开新终端都会自动加载,一劳永逸。

当前 Terminal 切换环境

powershell

复制代码
conda activate "003python类"

(环境名有中文和特殊符号,加引号)

执行后提示符会变成 (003python类) PS D:\...>,切换成功。


以后任意切换其他环境

powershell

复制代码
conda activate 环境名

比如 conda activate baseconda activate 001python,自由切换。


让以后每次新开 Terminal 自动识别 conda(一劳永逸)

在当前 Terminal 执行:

powershell

复制代码
conda init powershell

如果提示"禁止运行脚本",先执行:

powershell

复制代码
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

然后重新执行 conda init powershell。完成后关闭并重新打开 PyCharm 的 Terminal,以后可以直接用 conda activate 命令,不再需要手动加载 hook。


二、确认你的 Conda 安装路径(这是所有操作的前提)

我的 Conda 安装路径是:D:\015Anaconda3_2025\00an_zhuang

(这个路径下应该包含 shell\condabin\conda-hook.ps1 文件)

如果不知道自己的路径 :可以在文件资源管理器里搜索 conda.exe,它所在的文件夹通常是 安装目录\Scripts,那么安装目录就是上一级。或者在开始菜单中找到"Anaconda Prompt"快捷方式,右键→属性→目标,也能看到路径。

你的路径里没有空格,所以命令可以直接写路径,不用加引号(如果路径有空格,必须用双引号括起来)。


三、在 PyCharm Terminal 中手动加载 Conda(临时方案,每次新终端需要重做)

1. 打开 PyCharm 的 Terminal 窗口

  • 在 PyCharm 底部工具栏点击 Terminal 标签,或者通过菜单 ViewTool WindowsTerminal 打开。

2. 执行加载脚本(复制下面这行,直接粘贴到终端,按回车)

powershell

复制代码
& "D:\015Anaconda3_2025\00an_zhuang\shell\condabin\conda-hook.ps1"

命令详解(非常重要,请逐字理解)

部分 含义
& PowerShell 的调用运算符(call operator),用于执行后面跟的脚本或可执行文件。
"D:\015Anaconda3_2025\00an_zhuang\shell\condabin\conda-hook.ps1" 双引号括起来的是脚本的完整路径。.ps1 是 PowerShell 脚本文件扩展名。这个 conda-hook.ps1 脚本的作用就是向当前会话注入 conda 命令的定义和环境变量。

执行后,屏幕不会显示任何输出(或仅有一行空行),但此时 conda 已经变成可识别命令了。

为什么加双引号? 如果路径里有空格(比如 Program Files),不加引号会出错;你的路径没空格,但习惯上加上更保险。


四、验证 conda 是否成功加载

在同一个终端中,输入:

powershell

复制代码
conda env list

命令详解

  • conda -- 现在已经被 hook 脚本激活的命令。

  • env list -- 子命令,表示列出所有 Conda 虚拟环境。

如果执行后显示出类似下面的环境列表(包含 base 和你自己创建的环境),说明加载成功。

你应该会看到类似:

text

复制代码
# conda environments:
#
base                  *  D:\015Anaconda3_2025\00an_zhuang
001python                C:\Users\jiang\.conda\envs\001python
003python类              C:\Users\jiang\.conda\envs\003python类
...

* 的是当前激活的环境(现在一般是 base)。

如果还是报错"conda 不是可识别的命令",说明脚本路径不对或没有执行成功,请检查路径是否正确(注意文件夹名称的大小写和拼写)。


五、切换到你的目标环境(例如 003python类

现在执行切换命令:

powershell

复制代码
conda activate "003python类"

命令详解

  • conda activate -- 激活一个已存在的 Conda 环境。

  • "003python类" -- 环境名称。因为名称里包含中文和特殊字符,必须用双引号(或单引号)括起来,否则 PowerShell 会解析出错。如果环境名是纯英文数字(如 basepy312),则不需要引号。

执行后,终端提示符会变成:

text

复制代码
(003python类) PS D:\000Desktop\wordspace\001python>

前面的 (003python类) 表示当前激活的环境,说明切换成功。

此时你可以随意使用 pythonpip 等命令,它们都会在这个环境中运行。


六、让以后每次打开新 Terminal 都自动识别 conda(一劳永逸)

手动加载只在当前终端会话有效。如果你关闭 Terminal 重新打开,又需要重新加载一次,很麻烦。

解决方法是使用 Conda 提供的 conda init 命令,它会修改 PowerShell 的配置文件(Profile),让每次启动 PowerShell 时自动执行 conda-hook.ps1

步骤 6.1:执行 conda init(当前终端里 conda 已经可用)

powershell

复制代码
conda init powershell

命令详解

  • conda init -- 初始化 Conda 环境,使其在 Shell 启动时自动激活。

  • powershell -- 指定要初始化的 Shell 类型(因为你的 PyCharm Terminal 使用的是 PowerShell)。

执行后,你可能会看到提示:modified 之类的,说明已经修改了配置文件。

步骤 6.2:如果遇到"禁止运行脚本"的错误

有时 PowerShell 会因执行策略(ExecutionPolicy)限制而拒绝运行脚本。如果 conda init 报错类似:

text

复制代码
无法加载文件 ... 因为在此系统上禁止运行脚本

则执行下面这条命令来临时放宽执行策略(仅对当前用户生效):

powershell

复制代码
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

命令详解

  • Set-ExecutionPolicy -- 设置 PowerShell 脚本执行策略。

  • RemoteSigned -- 一种策略,允许运行本地编写的脚本,远程脚本必须经过数字签名。

  • -Scope CurrentUser -- 只影响当前用户,不需要管理员权限,安全性较高。

执行后会弹出确认提示,输入 Y(或 A 全部)回车即可。然后重新执行 conda init powershell

步骤 6.3:重启 PyCharm 或重新打开 Terminal

  • 关闭 PyCharm 当前的 Terminal 窗口(点击那个 ×)。

  • 再重新打开一个新的 Terminal(点击底部 Terminal 标签)。

  • 这时你会发现,终端顶部直接显示 (base) 或者你的项目环境(如果你开启了 PyCharm 的"自动激活"功能),并且直接输入 conda env listconda activate 环境名 都能顺利执行,不再需要手动加载 hook 了。


七、进阶技巧:快速切换环境(实用日常操作)

一旦 conda 命令可用,你就可以随时在 Terminal 中切换环境:

  • 切换到 base(默认环境):conda activate base

  • 切换到 001pythonconda activate 001python

  • 切换到 003python类conda activate "003python类"

  • 退出当前环境(回到 base):conda deactivate

查看所有环境:conda env list

查看当前环境中的 Python 版本:python --version


八、常见问题及处理

Q1:为什么我执行 conda init 后,新 Terminal 还是找不到 conda

  • 可能你没有正确重启 Terminal(必须关闭标签页再新建)。

  • 可能你的 PowerShell 配置文件(Profile)没有被读取。可以尝试重启 PyCharm 或整个电脑。

  • 检查 PowerShell 的执行策略:Get-ExecutionPolicy,确保不是 Restricted

Q2:我执行 hook 脚本时提示"找不到文件"?

  • 确认路径是否完全正确:你的安装目录是 D:\015Anaconda3_2025\00an_zhuang,请检查 shell\condabin\conda-hook.ps1 是否真的存在(用文件管理器查看)。

  • 如果目录名有差异(比如 Anaconda3 而非 015Anaconda3_2025),请调整路径。

Q3:我切换环境后,python 命令还是指向系统的 Python?

  • 通常不会,因为 conda activate 会修改环境变量 PATH,把当前环境的 Python 放在最前面。你可以用 where.exe python 查看当前使用的是哪个 Python。

Q4:我想让 PyCharm 的项目解释器自动跟随 Terminal 的环境变化?

  • 你可以在 PyCharm 设置中为每个项目指定解释器(FileSettingsProjectPython Interpreter),选中的 Conda 环境会和 Terminal 里激活的环境同步(前提是勾选了 ToolsTerminal 中的 Activate virtualenv)。但本教程聚焦于命令行操作,你可以自行研究。

九、总结

步骤 目的 关键命令
1. 手动加载 让当前终端识别 conda & "D:\...\conda-hook.ps1"
2. 切换环境 激活目标环境 conda activate "环境名"
3. 永久初始化 以后自动加载 conda init powershell(如权限问题,先改执行策略)

你现在可以自由地在 PyCharm 的 Terminal 中随意切换 Conda 环境,而无需修改任何 PyCharm 设置,也无需依赖开始菜单里的专用快捷方式。

相关推荐
ITmaster07312 小时前
告别 IDE?Android CLI 来了,开发进入 AI Agent 时代
android·ide·人工智能
2601_960906721 天前
科技“无人区”跋涉,难度高、不确定性大
windows·macos·pycharm·myeclipse
Irene19912 天前
怎么设置 PyCharm 使用 VSCode 的快捷键,推荐保留的原生快捷键(特色功能不建议覆盖,否则丧失效率优势)Ctrl+Alt+L:代码格式化
vscode·pycharm·快捷键
放学校门口见2 天前
vscode部署stm32开发调试环境
ide·vscode·stm32
lxw18449125142 天前
Python uv 完整使用教程
python·conda·pip·uv
独隅2 天前
DevEco Code 在 Windows/MacOS 双系统上的完整使用指南
ide·人工智能·windows·macos·华为·harmonyos
2501_916008893 天前
iOS应用开发工具全面解析:如何选择与优化开发效率
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
拾贰_C3 天前
【Conda | .venv | 虚拟环境】 conda构建项目内的虚拟环境.venv以及选择项目虚拟环境的原因所在
conda
梦想的颜色3 天前
2026 VibeCoding 工具链精选|IDE + 大模型成套组合推荐,按场景分级收录
ide·trae·ai 编程·vibecoding·国产海外 ai 编程方案·氛围编程成套配置·副业 ai 开发工具栈