- 解決 ValueError: embedded null byte 錯誤
解決 ValueError: embedded null byte 錯誤
一直以來,某些使用 Python 3.5(無論 Anaconda 與否)的 Windows 電腦會無法使用 Pelican 轉換網誌。
於是加入 --debug
指令檢查。
... File "c:\users\...\pelican\utils.py", line 101, in strftime return super(SafeDatetime, self).strftime(fmt) ValueError: embedded null byte
重新搜尋了這個問題,找到了一篇新的文章:
http://xingjian.me/how-to-fix-value-error-embedded-null-byte-error.html
於是到 cmd 的 Python 直譯器打入下列指令檢查:
import locale, time locale.setlocale(locale.LC_ALL, 'ko') time.strftime('%a')
Python Rise 了相同的錯誤如下:
解決方式就是重新設定 local 的設定。
到 Python 或 Anaconda 的資料夾中找到 pelican,編輯其 utils.py 檔案(如:Python35\Lib\site-packages\pelican\utils.py
)。
搜尋 def strftime(date, date_format)
這個函式。
在函式這片註解後加入 locale.setlocale(locale.LC_ALL, 'en')
指令,如下:
def strftime(date, date_format): ''' Replacement for built-in strftime ... This works by 'grabbing' possible format strings (those starting with %), formatting them with the date, (if necessary) decoding the output and replacing formatted output back. ''' locale.setlocale(locale.LC_ALL, 'en')
之後存檔關閉即可。
接著就能使用 Pelican 的功能了。
Comments
comments powered by Disqus