我很难通过cron运行完全激活的conda环境。
我当前的解决方案是使用绝对路径直接调用特定的python解释器,如之前的many和many所建议的那样。所以我当前的解决方案如下所示:
# 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
文件进行版本控制,而无需对环境变量进行版本控制。