Python:当从cron调用时,为什么我会从Babel得到这个异常?

Python:当从cron调用时,为什么我会从Babel得到这个异常?,python,python-babel,Python,Python Babel,当我的脚本调用Babel函数时,我从Python Babel包中抛出了这个异常。问题是,当我从命令行运行它时,它工作正常。然而,这是我从cron运行它时得到的错误。似乎这可能与某些环境或区域设置有关,也可能与缺乏环境或区域设置有关 File "/home/myproj/lib/python2.6/Babel-0.9.5-py2.6.egg/babel/dates.py", line 508, in format_datetime return parse_pattern(forma

当我的脚本调用Babel函数时,我从Python Babel包中抛出了这个异常。问题是,当我从命令行运行它时,它工作正常。然而,这是我从cron运行它时得到的错误。似乎这可能与某些环境或区域设置有关,也可能与缺乏环境或区域设置有关

File "/home/myproj/lib/python2.6/Babel-0.9.5-py2.6.egg/babel/dates.py", line 508, in format_datetime
       return parse_pattern(format).apply(datetime, locale)
     File "/home/myproj/lib/python2.6/Babel-0.9.5-py2.6.egg/babel/dates.py", line 702, in apply
       return self % DateTimeFormat(datetime, locale)
     File "/home/myproj/lib/python2.6/Babel-0.9.5-py2.6.egg/babel/dates.py", line 699, in __mod__
       return self.format % other
     File "/home/myproj/lib/python2.6/Babel-0.9.5-py2.6.egg/babel/dates.py", line 724, in __getitem__
       return self.format_month(char, num)
     File "/home/myproj/lib/python2.6/Babel-0.9.5-py2.6.egg/babel/dates.py", line 793, in format_month
       return get_month_names(width, context, self.locale)[self.value.month]
     File "/home/myproj/lib/python2.6/Babel-0.9.5-py2.6.egg/babel/dates.py", line 87, in get_month_names
       return Locale.parse(locale).months[context][width]
   AttributeError: 'NoneType' object has no attribute 'months'
更新


从命令行调用时,区域设置为en_US,从cron调用时,区域设置为None。从cron调用时如何设置它


另外,不知道这是否重要,但是调用Babel的脚本是一个定制的django管理命令

Babel无法检测默认区域设置(对于LC_时间),因为cron设置的环境变量较少


您可以明确地设置它
babel.dates.LC\u TIME=Locale.parse('en\u US')
。还可以查看Babel 0.9.6-我们在默认区域设置检测中进行了一些修复。

似乎是这样。您能否将
print locale
推到引发异常的位置附近,并在您以自己的身份和从cron运行时打印出local的值?当从命令行en_US调用和从cron None调用时。在cron:locale=en_US/您的脚本中作为您的命令尝试此操作