运行写有conda activate my_env的bash脚本时报错CommandNotFoundError的解决方案

在命令行直接输入conda activate my_env可以直接进入该环境。但如果将该命令放到bash脚本中,再运行该脚本时会提示错误:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

这是因为bash未正确配置conda启动项。尝试了github的issues#7980Can't execute conda activate from bash script #7980讨论中的诸多解决方案,发现stuarteberg的方案最为可行:

echo "export -f conda" >> ~/.bashrc
echo "export -f __conda_activate" >> ~/.bashrc
echo "export -f __conda_reactivate" >> ~/.bashrc
echo "export -f __conda_hashr" >> ~/.bashrc

但是再次运行时又提示了新的错误:

main: line 5: __conda_exe: command not found

还是bashrc没配置好。

参考stackoverflow的讨论贴Conda 4.10.3 and Snakemake >5 "__conda_exe" problem需要再添加两行:

echo "export -f __add_sys_prefix_to_path" >> ~/.bashrc
echo "export -f __conda_exe" >> ~/.bashrc

这样就没问题了,直接在scripts中输入conda activate my_env并运行该script时可以获得和在命令行直接输入该命令一样的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值