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

如何让conda激活指定hep环境时自动执行脚本?

解决conda激活hep环境时自动source自定义ROOT包的方法

步骤1:定位hep环境的绝对路径

先激活你的hep环境,然后打印环境路径:

conda activate hep
echo $CONDA_PREFIX

输出结果类似 /home/yourname/miniconda3/envs/hep,这就是后续操作的基础路径。

步骤2:创建conda激活钩子目录

在hep环境下创建激活时自动执行脚本的目录:

mkdir -p $CONDA_PREFIX/etc/conda/activate.d

步骤3:编写自动source的脚本

在上述目录下新建一个shell脚本文件(比如root_setup.sh):

touch $CONDA_PREFIX/etc/conda/activate.d/root_setup.sh

编辑这个文件,添加你手动source的ROOT setup脚本路径,示例:

# 替换成你实际编译的ROOT目录下的thisroot.sh路径
source /home/yourname/root-master/build/bin/thisroot.sh

(可选)添加环境退出时的清理脚本

为了避免ROOT的环境变量影响其他conda环境,可以在退出hep时自动清理相关变量:

  1. 创建退出钩子目录:
mkdir -p $CONDA_PREFIX/etc/conda/deactivate.d
  1. 新建清理脚本root_cleanup.sh:
touch $CONDA_PREFIX/etc/conda/deactivate.d/root_cleanup.sh
  1. 编辑脚本,添加清理命令(对应thisroot.sh设置的环境变量):
unset ROOTSYS
unset ROOT_INCLUDE_PATH
unset ROOT_LIBRARY_PATH
# 根据实际情况补充其他被thisroot.sh修改的变量,比如PYTHONPATH、LD_LIBRARY_PATH等

测试验证

退出hep环境后重新激活:

conda deactivate
conda activate hep

直接执行python -c "import ROOT",无需手动source即可正常导入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 05:42:31