Linux Shell 脚本中 conda deactivate / conda activate 失效问题指南

发布时间:2026/9/13 20:20:03

Linux Shell 脚本中 conda deactivate / conda activate 失效问题指南 Linux Shell 脚本中 conda deactivate / conda activate 失效问题指南1. conda: error: argument COMMAND: invalid choice: deactivate / activate1.1. conda: error: argument COMMAND: invalid choice: deactivate1.2. conda: error: argument COMMAND: invalid choice: activate2. Solution 1: source ~/miniconda3/etc/profile.d/conda.sh3. Solution 2: source script_conda.sh4. Solution 3: source deactivateReferences1. conda: error: argument COMMAND: invalid choice: ‘deactivate’ / ‘activate’在 Linux 环境下直接在 Shell 脚本 (例如./script_conda.sh) 中执行conda activate或conda deactivate时会触发 invalid choice: ‘deactivate’ 和 invalid choice: ‘activate’ 错误。conda命令在系统中有两种存在形态二进制可执行文件 (位于~/miniconda3/bin/conda)只支持 install, create, list 等标准命令。Shell 内部函数只有该形态才支持activate和deactivate因为修改当前 Shell 的环境变量必须通过 Shell 函数实现。conda在 Shell 脚本中默认只是一个二进制可执行文件而不是一个 Shell 函数。在交互式终端 (Interactive Shell) 中~/.bashrc会自动将conda注册为 Shell 函数从而支持activate和deactivate这种需要修改当前 Shell 环境变量的命令。但在非交互式子 Shell (运行脚本./script_conda.sh时启动的独立进程) 中该函数默认失效conda退化为纯二进制文件从而导致报错。1.1. conda: error: argument COMMAND: invalid choice: ‘deactivate’(base) yongqiangyongqiang:~/scripts$ chmod ax script_conda.sh (base) yongqiangyongqiang:~/scripts$ (base) yongqiangyongqiang:~/scripts$ cat script_conda.sh #!/bin/bash conda env list conda deactivate (base) yongqiangyongqiang:~/scripts$ (base) yongqiangyongqiang:~/scripts$ ./script_conda.sh # conda environments: # base * /home/yongqiang/miniconda3 py37 /home/yongqiang/miniconda3/envs/py37 usage: conda [-h] [--no-plugins] [-V] COMMAND ... conda: error: argument COMMAND: invalid choice: deactivate (choose from clean, compare, config, create, info, init, install, list, notices, package, remove, uninstall, rename, run, search, update, upgrade, doctor, env, content-trust) (base) yongqiangyongqiang:~/scripts$1.2. conda: error: argument COMMAND: invalid choice: ‘activate’yongqiangyongqiang:~/scripts$ chmod ax script_conda.sh yongqiangyongqiang:~/scripts$ yongqiangyongqiang:~/scripts$ cat script_conda.sh #!/bin/bash conda activate base yongqiangyongqiang:~/scripts$ yongqiangyongqiang:~/scripts$ ./script_conda.sh usage: conda [-h] [--no-plugins] [-V] COMMAND ... conda: error: argument COMMAND: invalid choice: activate (choose from clean, compare, config, create, info, init, install, list, notices, package, remove, uninstall, rename, run, search, update, upgrade, doctor, env, content-trust) yongqiangyongqiang:~/scripts$2. Solution 1:source ~/miniconda3/etc/profile.d/conda.shYou need to add the newsource ~/miniconda3/etc/profile.d/conda.shline to your~/.bashrcfile to ensure Anaconda Python can enabled in subsequent terminal sessions.conda activate baseandconda deactivatewill need to be run in each subsequent terminal session.(base) yongqiangyongqiang:~/scripts$ cat script_conda.sh #!/bin/bash source ~/miniconda3/etc/profile.d/conda.sh conda env list conda deactivate (base) yongqiangyongqiang:~/scripts$ (base) yongqiangyongqiang:~/scripts$ ./script_conda.sh # conda environments: # base * /home/yongqiang/miniconda3 py37 /home/yongqiang/miniconda3/envs/py37 (base) yongqiangyongqiang:~/scripts$在脚本内部加载了 Conda 的环境初始化脚本强行将 conda 注册为 Shell 函数。脚本可以独立运行 (使用./script_conda.sh)不需要依赖外部环境。脚本执行完毕后当前终端 (父 Shell) 的环境不会受到任何影响。3. Solution 2:source script_conda.shsource命令或.运算符不会启动新的子 Shell而是直接在当前终端 (父 Shell) 中逐行执行脚本内的命令。因为当前终端已经初始化过 Conda所以conda activate能够正常工作。脚本执行完后会改变你当前终端的环境。例如脚本里执行了conda deactivate你当前的终端就会退出base环境。(base) yongqiangyongqiang:~/scripts$ cat script_conda.sh #!/bin/bash conda env list conda deactivate (base) yongqiangyongqiang:~/scripts$ (base) yongqiangyongqiang:~/scripts$ source script_conda.sh # conda environments: # base * /home/yongqiang/miniconda3 py37 /home/yongqiang/miniconda3/envs/py37 yongqiangyongqiang:~/scripts$yongqiangyongqiang:~/scripts$ cat script_conda.sh #!/bin/bash conda activate base yongqiangyongqiang:~/scripts$ yongqiangyongqiang:~/scripts$ source script_conda.sh (base) yongqiangyongqiang:~/scripts$4. Solution 3:source deactivate使用旧版命令source deactivate已经被 Conda 官方废弃。(base) yongqiangyongqiang:~/scripts$ cat script_conda.sh #!/bin/bash conda env list source deactivate (base) yongqiangyongqiang:~/scripts$ (base) yongqiangyongqiang:~/scripts$ ./script_conda.sh # conda environments: # base * /home/yongqiang/miniconda3 py37 /home/yongqiang/miniconda3/envs/py37 DeprecationWarning: source deactivate is deprecated. Use conda deactivate. (base) yongqiangyongqiang:~/scripts$References[1] Yongqiang Cheng (程永强), https://yongqiang.blog.csdn.net/[2] Installing via conda, https://docs.openforcefield.org/projects/toolkit/en/0.7.0/installation.html[3] Linux Shell 脚本中 conda deactivate / conda activate 失效问题指南, https://mp.weixin.qq.com/s/ixumA_tRg6zov11l8w8lVA
延伸阅读

更多相关文章

2026/9/10 5:07:48

华尔街的“加密裂痕”:高盛与摩根大通的稳定币之战

2026年7月,美国国会夏季休会前的最后几周,一场围绕加密货币监管的战争在华尔街最高层爆发。一方是高盛董事长兼首席执行官戴维所罗门,公开表态“非常支持”推动《数字资产市场清晰法案》(CLARITY Act)。另一方是摩根大…

2026/9/8 2:46:18

企业垂直场景如何做大模型选型?企业客户关注国产化、成本和部署

企业垂直场景做大模型选型,核心不是寻找“参数最大”或“榜单第一”的模型,而是把业务场景、数据敏感度、国产化要求、部署方式、调用成本、响应延迟、RAG 检索能力和运维治理放在一起评估。B 端客户真正需要的是一套可组合、可替换、可审计、可持续降本…

2026/9/12 9:30:11

MarkDown教程(Typora)

一、参考资料 Markdown公式、特殊字符、上下标、求和/积分、分式/根式、字体 markdown常见数学符号和运算 markdown数学符号汇总 Typora数学公式汇总(Markdown) Markdown基本语法 Markdown中文文档 Learning-Markdown (Markdown 入门参考) Typora入门&a…

2026/9/13 20:18:05

HappyPlanet:无代码元宇宙创作平台全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码