在cron中激活conda环境(包括环境变量!)

时间:2019-02-13 10:36:27

标签: python cron anaconda virtualenv conda

我很难通过cron运行完全激活的conda环境。

我当前的解决方案是使用绝对路径直接调用特定的python解释器,如之前的manymany所建议的那样。所以我当前的解决方案如下所示:

# crontab file

* * * * * /home/user/miniconda2/envs/env_xyz/bin/python my_script.py

这可以找到正确的python库,但是事实证明cron的shell缺少某些特定于虚拟环境的环境变量,这些变量通常通过标准source activate env_xyz加载到shell的作用域中。

以上链接的作者提供了基于official conda docs的解决方案,但该解决方案似乎旨在共享手动添加的变量,而不是通过安装python依赖项自动添加的变量(在我的情况下,gdal的{ {1}})。

我还尝试在cron文件的开头添加GDAL_DATA,并使用许多可能的shebang / SHELL组合,所有这些都具有相同的结果...

有人知道如何实现允许我直接从cronfile或最终从bash脚本包装器调用SHELL=/bin/bash的行为,然后由cron调用吗?

我想要一个可移植的解决方案,该解决方案仅需要对我的source activate env_xyz文件进行版本控制,而无需对环境变量进行版本控制。

0 个答案:

没有答案