【发布时间】:2015-03-27 12:05:03
【问题描述】:
当我尝试运行 django 开发服务器(使用命令行或 pycharm 运行功能)时,我收到以下错误回溯:
Performing system checks...
System check identified no issues (0 silenced).
Unhandled exception in thread started by <function wrapper at 0x037EF170>
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 222, in wrapper
fn(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 107, in inner_run
self.check_migrations()
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 159, in check_migrations
executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 17, in __init__
self.loader = MigrationLoader(self.connection)
File "C:\Python27\lib\site-packages\django\db\migrations\loader.py", line 48, in __init__
self.build_graph()
File "C:\Python27\lib\site-packages\django\db\migrations\loader.py", line 173, in build_graph
self.load_disk()
File "C:\Python27\lib\site-packages\django\db\migrations\loader.py", line 95, in load_disk
if name.endswith(".py"):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb9 in position 27: ordinal not in range(128)
我该如何解决这个问题?
编辑: 当我删除所有迁移并重新创建它们时,我已经检查了它是如何工作的。当我这样做时,服务器正在启动而没有任何问题。但是,当我切换到另一台机器并尝试启动服务器时(我正在通过保管箱同步文件)错误消息再次出现。
【问题讨论】:
-
这可能是因为你使用
Python2.7和一个不兼容的 Django 版本——或者我记得在文档中读过类似的东西。或者可能是某些文件或路径包含异常字符 -
确实,我的迁移包含特殊字符,例如:“Okres wa\u017cno\u015bci pakietu”,但我不确定这是问题的原因
-
处理这个超出了我对 Django 的了解,但您可以查看文档以了解如何处理或更简单地替换这些特殊字符。
-
我使用 Dropbox,但我遇到了同样的问题。实际上,在迁移目录中有一些 *.pyc 文件与 cmets 有关同步期间的冲突。由于这些文件名中的西里尔符号,我一直收到此错误。也许它会对某些人有所帮助。
标签: python django unicode python-unicode