1

Python版本:2.7

lektor server在命令中显示以下错误:

Traceback (most recent call last):
  File "/Users/item4/Projects/lektor/lektor/devserver.py", line 49, in build
    builder.prune()
  File "/Users/item4/Projects/lektor/lektor/builder.py", line 1062, in prune
    for aft in build_state.iter_unreferenced_artifacts(all=all):
  File "/Users/item4/Projects/lektor/lektor/builder.py", line 371, in iter_unreferenced_artifacts
    and is_primary_source''', [artifact_name])
ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
4

1 回答 1

1

最后我得到了答案。它可能会有所帮助

我编辑了 /Users/item4/Projects/lektor/lektor/builder.py 并添加了一行

con.text_factory = lambda x: unicode(x, 'utf-8', 'ignore')

在以下行之后

con = sqlite3.connect(self.buildstate_database_filename,
                              timeout=10, check_same_thread=False)

参考链接:http ://hakanu.net/sql/2015/08/25/sqlite-unicode-string-problem/

于 2016-10-09T08:14:58.763 回答