我想在django中运行一些cronjobs。
我有三个,其中两个运行完美。但第三个是给我错误的:
../../monthly_abo_live.py", line 1
SyntaxError: encoding problem: with BOM
此文件的前两行是:
1. # -*- coding: utf-8 -*-
2. from django.core.management.base import BaseCommand, CommandError
3. ...
其他2个cronjobs与此相同。我被卡住 - 为什么只有这一个抱怨?看来python不支持utf-8
?它不可能,对吧?
答案 0 :(得分:-1)
根据这个页面:
http://legacy.python.org/dev/peps/pep-0263/
你有两个选择......
To define a source code encoding, a magic comment must
be placed into the source files either as first or second
line in the file, such as:
# coding=<encoding name>
or (using formats recognized by popular editors)
#!/usr/bin/python
# -*- coding: <encoding name> -*-
(注意:虽然以上是直接引用,但@tdelaney指出 - 我同意 - 而不是固定路径#!/usr/bin/python
应该使用#!/usr/bin/env python
。)
看起来你正在使用第二个选项的一部分,但没有包含所需的第一行(#!/usr/bin/python
)。尝试在“编码”行之前插入它,看看会发生什么。