python - “SyntaxError:encoding issue:with BOM”

时间:2014-09-16 18:40:38

标签: python django byte-order-mark

我想在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?它不可能,对吧?

1 个答案:

答案 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)。尝试在“编码”行之前插入它,看看会发生什么。