我刚刚使用在Python 3下运行Django App到使用Python 2.7.我现在得到这个错误:
SyntaxError: Non-ASCII character '\xe2' in file /Users/user/Documents/workspace/testpro/testpro/apps/common/models/vendor.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)
它所指的代码只是一个评论:
class Vendor(BaseModel):
"""
A company manages owns one of more stores.?
"""
name = models.CharField(max_length=255)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
为什么?
这有效:
class Vendor(BaseModel):
"""
"""
name = models.CharField(max_length=255)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 10
你的docstring中有一个UTF-8编码的U + 200E LEFT-TO-RIGHT MARK:
'\n A company manages owns one of more stores.\xe2\x80\x8e\n '
Run Code Online (Sandbox Code Playgroud)
从代码中删除该代码点(并尝试使用代码编辑器,而不是文字处理器),或者只将PEP-263编码注释放在文件的顶部:
# encoding=utf8
Run Code Online (Sandbox Code Playgroud)
Python 3默认使用UTF-8,Python 2默认为ASCII源代码,除非您添加该注释.