让 conda 为给定环境激活另一个脚本

问题描述 投票:0回答:1

我有一个名为 hep 的 conda 环境。我需要从源代码(即 root.cern.ch)构建一个包,因为我使用的一些功能仅在主分支中可用。 为了能够在hep环境中使用

import ROOT
。我需要在我的终端中获取 root 权限。我怎样才能让
conda activate hep
自动进行包裹采购?

python conda
1个回答
0
投票

要在激活 hep 时自动获取 ROOT 设置脚本,您可以编写自定义激活脚本,因为 Conda 允许您通过创建/修改特定于环境的激活脚本来在激活期间自动运行 shell 命令:

  1. 找到 Conda 环境的存储位置(对于 Linux/macOS 通常为“~/anaconda3/envs/”,对于 Windows 则为“C:\Users naconda3 nvs`”
  2. 在 hep 环境的“etc/conda/activate.d”目录中,创建一个在激活时自动运行的 shell 脚本:
    mkdir -p ~/anaconda3/envs/hep/etc/conda/activate.d
    
  3. 在“activate.d”目录中创建新的 shell 脚本(例如“source_root.sh”:
    nano ~/anaconda3/envs/hep/etc/conda/activate.d/source_root.sh
    
    在此文件中,添加以下内容以获取 ROOT 安装:
    #!/bin/bash
    source /path/to/your/root/installation/bin/thisroot.sh
    
    (当然,您可以将“/path/to/your/root/installation/bin/thisroot.sh”替换为您需要获取的ROOT脚本的实际路径

每当“conda activate hep”运行时,这将自动获取 ROOT 设置脚本。通过将其放置在“activate.d”目录中,Conda 确保它仅针对 hep 运行

© www.soinside.com 2019 - 2024. All rights reserved.