我正在使用Anaconda 4.3.11和Linux(Ubuntu Server),并且需要找到一种在Anaconda环境之间自动切换的方法(因为不兼容的软件包版本:我在处理的第一部分需要gdal 2.1.0
,以及第二部分中的gdal 2.1.3
。
因此,对于我需要env1
的第一个处理步骤,对于第二部分,我需要env2
。
手动输入source activate env1
可以正常工作。但我需要将我的脚本作为cronjobs运行,所以这不是一个选项。
我尝试了以下bash脚本:
#!/bin/bash
source activate sen2cor
conda info --envs
据我所知,由于source
以及尝试在子shell中使用它(或类似的东西)存在一些问题,因此无法正常工作。
但是必须有一种自动切换环境的方法,不是吗?
答案 0 :(得分:1)
如果您尝试使用不同的虚拟环境运行脚本,则无需切换到该环境。你可以使用必需的python可执行文件的绝对路径。
E.g。
#!/bin/bash
/Users/you/.virtualenvs/env1/bin/python script1.py
/Users/you/.virtualenvs/env2/bin/python script2.py
答案 1 :(得分:1)
你的方法应该可以在cron作业中激活一个conda env,你只需要像你在常规会话中那样添加到你的PATH
(或者你的~~) /.bash*配置文件)。
基本上,就像:
PATH=/home/roland/anaconda2/bin:$PATH
source activate sen2cor