Python代码不能从cron作业中运行,但可以通过virtualenv

时间:2017-02-08 16:58:28

标签: python cron

我收到了不同的错误,我无法确定问题。好像它与configparser.py NoSectionError(section)有关。这段代码可以从virtualenv中的命令行运行。

Traceback (most recent call last):
  File "/usr/lib/python3.5/configparser.py", line 1135, in _unify_values
    sectiondict = self._sections[section]
KeyError: 'token'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lvensel/projects/worklion01/worklion01/wl_cron.py", line 15, in <module>
    wl_post_projects.post()
  File "/home/lvensel/projects/worklion01/worklion01/wl_post_projects.py", line 15, in post
    import wl_get_background_jobs
  File "/home/lvensel/projects/worklion01/worklion01/wl_get_background_jobs.py", line 12, in <module>
    oauth, token = wl_secure_token.fetch_token()
  File "/home/lvensel/projects/worklion01/worklion01/wl_secure_token.py", line 17, in fetch_token
    values = wl_get_ini.get_values()
  File "/home/lvensel/projects/worklion01/worklion01/wl_get_ini.py", line 13, in get_values
    'token_url': config.get('token', 'token_url'),
  File "/usr/lib/python3.5/configparser.py", line 778, in get
    d = self._unify_values(section, vars)
  File "/usr/lib/python3.5/configparser.py", line 1138, in _unify_values
    raise NoSectionError(section)
configparser.NoSectionError: No section: 'token'

1 个答案:

答案 0 :(得分:0)

让我猜猜可能发生的事情:

  • Cron作业由root
  • 运行
  • virtualenv由您的user使用自定义python环境运行。
  • root不知道你的virtualenv,然后无法匹配你的用户的python环境,因此你的脚本失败了。可能有一些cannot import或类似的错误。

查看回复here