You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python在Anaconda Prompt中批量执行多conda环境命令

多独立Conda环境程序一键启动方案

核心逻辑不需要专门找适配Anaconda Prompt的特殊工具:Anaconda Prompt本身就是预加载了conda初始化逻辑的系统终端,直接调用conda原生的run指令就能跳过手动激活环境、开终端的步骤,单脚本即可并行启动所有程序。

方案1:无依赖批处理实现(Windows系统最简便)

不需要写Python代码,直接新建后缀为.bat的脚本,每个start指令会自动弹出独立终端窗口,和手动开Anaconda Prompt敲命令的运行效果完全一致,窗口会保留用于查看程序运行日志。

@echo off
:: 替换为你本地的conda安装根目录
set CONDA_ROOT=C:\ProgramData\anaconda3

:: 按格式追加你的6个启动任务即可
:: 格式:start 调用conda run 指定环境名 执行对应启动命令
start "" "%CONDA_ROOT%\condabin\conda.bat" run -n 你的第一个环境名 python D:\your_project\app1\main.py
start "" "%CONDA_ROOT%\condabin\conda.bat" run -n 你的第二个环境名 python D:\your_project\app2\server.py
start "" "%CONDA_ROOT%\condabin\conda.bat" run -n 你的第三个环境名 jupyter lab --port=8889
:: 剩余任务照着上面三行的格式补全就行

pause

方案2:Python脚本实现(跨场景适配性更强)

如果需要加启动前检查、异常重试之类的自定义逻辑,用标准库subprocess即可实现,不需要安装第三方包,核心逻辑和批处理一致。

import subprocess
from pathlib import Path

# 替换为你本地的conda安装根目录
CONDA_ROOT = Path(r"C:\ProgramData\anaconda3")
CONDA_EXEC = CONDA_ROOT / "condabin" / "conda.bat"  # Mac/Linux系统替换为 bin/conda

# 所有待启动任务按(环境名, 启动命令参数列表)格式写入
task_list = [
    ("env1", ["python", r"D:\your_project\app1\main.py"]),
    ("env2", ["python", r"D:\your_project\app2\server.py"]),
    ("env3", ["jupyter", "lab", "--port=8889"]),
    # 剩余任务按格式追加
]

for env_name, cmd in task_list:
    full_command = [str(CONDA_EXEC), "run", "--no-capture-output", "-n", env_name] + cmd
    # Windows下CREATE_NEW_CONSOLE参数会弹出独立终端窗口
    subprocess.Popen(
        full_command,
        creationflags=subprocess.CREATE_NEW_CONSOLE
    )

注意事项

  • 所有文件路径尽量写绝对路径,避免脚本启动工作目录不对导致找不到文件的问题
  • 不要用os.system或者subprocess.run执行启动命令,这两个方法是阻塞式的,会等上一个程序退出才启动下一个,必须用subprocess.Popen实现并行启动
  • Mac/Linux系统不需要creationflags参数,把开新窗口的逻辑替换为对应系统终端指令即可,比如MacOS用open -a Terminal、GNOME桌面用gnome-terminal -e
  • 如果不需要保留终端窗口看日志,去掉开新窗口的相关参数,程序就会在后台静默运行

内容的提问来源于stack exchange,提问作者Wiliane Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 16:24:30