【问题标题】:PB Activating a conda environment from a source .sh filePB 从源 .sh 文件激活 conda 环境
【发布时间】:2021-11-28 06:31:19
【问题描述】:

我想运行一个激活 conda 环境然后执行 python 脚本的源文件。我已经在我的另一台笔记本电脑上成功尝试了以下脚本以获取另一个脚本,但它不适用于这个脚本。

有什么想法吗?

    (base) ➜  automate_PDP_IMAP git:(master) ✗ pwd
/home/ludo915/automate_PDP_IMAP
(base) ➜  automate_PDP_IMAP git:(master) ✗ conda info --envs
# conda environments:
#
base                  *  /home/ludo915/anaconda3
automate_PDP_IMAP        /home/ludo915/anaconda3/envs/automate_PDP_IMAP

(base) ➜  automate_PDP_IMAP git:(master) ✗ source runscripts.sh
Could not find conda environment: base
You can list all discoverable environments with `conda info --envs`.

Not a conda environment: /home/ludo915/anaconda3/envs/automate_PDP_IMAP
': [Errno 2] No such file or directory/automate_PDP_IMAP/runscripts_IMAP.py
(base) ➜  automate_PDP_IMAP git:(master) ✗ cat runscripts.sh
export PATH="/home/ludo915/anaconda3/bin/:$PATH"
eval "$(conda shell.bash hook)"
conda activate /home/ludo915/anaconda3/envs/automate_PDP_IMAP
python /home/ludo915/automate_PDP_IMAP/runscripts_IMAP.py
(base) ➜  automate_PDP_IMAP git:(master) ✗

【问题讨论】:

    标签: python bash anaconda conda


    【解决方案1】:

    尝试使用conda run,而不是在 shell 脚本中手动激活。激活是为 interactive shell 会话设计的; conda run 用于在环境上下文中执行程序。

    #!/usr/bin/env bash -l
    
    conda run -n automate_PDP_IMAP python /home/ludo915/automate_PDP_IMAP/runscripts_IMAP.py
    

    【讨论】:

    • 大问题解决了@merv 非常感谢
    猜你喜欢
    • 2017-09-25
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多