Anaconda ipython-notebook得到" UnicodeDecode错误:' ascii'编解码器不能解码位置1和#34的字节0xb0;

时间:2014-03-15 09:15:09

标签: python ipython-notebook anaconda

我安装了Anaconda-1.9.1-Windows-x86.exe并尝试在安装后启动ipython-notebook。但是我遇到了这样的错误:

2014-03-15 17:00:48.724 [tornado.application] ERROR | Uncaught exception GET /st
atic/components/jquery-ui/themes/smoothness/jquery-ui.min.css (127.0.0.1)
HTTPRequest(protocol='http', host='127.0.0.1:8888', method='GET', uri='/static/c
omponents/jquery-ui/themes/smoothness/jquery-ui.min.css', version='HTTP/1.1', re
mote_ip='127.0.0.1', headers={'Accept-Language': 'zh-CN,zh;q=0.8', 'Accept-Encod
ing': 'gzip,deflate,sdch', 'Host': '127.0.0.1:8888', 'Accept': 'text/css,*/*;q=0
.1', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTM
L, like Gecko) Chrome/24.0.1312.57 Safari/537.17 SE 2.X MetaSr 1.0', 'Accept-Cha
rset': 'GBK,utf-8;q=0.7,*;q=0.3', 'Connection': 'keep-alive', 'Referer': 'http:/
/127.0.0.1:8888/'})
Traceback (most recent call last):
  File "D:\Anaconda\lib\site-packages\tornado\web.py", line 1218, in _when_compl
ete
    callback()
  File "D:\Anaconda\lib\site-packages\tornado\web.py", line 1239, in _execute_me
thod
    self._when_complete(method(*self.path_args, **self.path_kwargs),
......
......
  File "D:\Anaconda\lib\mimetypes.py", line 258, in read_windows_registry
    for subkeyname in enum_types(hkcr):
  File "D:\Anaconda\lib\mimetypes.py", line 249, in enum_types
    ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal
not in range(128)
2014-03-15 17:00:50.220 [tornado.access] ERROR | 500 GET /static/tree/js/noteboo
klist.js (127.0.0.1) 98.00ms

Full traceback is here,我不确定发生了什么。

我在win7 x64上,我上次安装的anaconda 1.5.0工作得很完美。我猜anaconda 1.9.1可能有一些处理unicode的错误。希望有经验的人可以提供帮助;)我现在必须降级; \

4 个答案:

答案 0 :(得分:4)

这是mimetypes.py中的错误。某些程序在系统注册表中插入了一个Unicode条目,而mimetypes正试图将其解码为ascii。

这个答案中提到了一个补丁:UnicodeDecodeError : 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

以下是实际补丁本身的链接:http://bugs.python.org/file18143/9291.patch

假设您的anaconda安装位于默认位置:C:\ Anaconda,您可以通过在250行添加以下代码打开文本编辑器并修改C:\ Anaconda \ Lib \ mimetypes.py来快速解决此问题:

                except UnicodeEncodeError:
                    pass

答案 1 :(得分:0)

Knelson可能意味着在250行添加以下代码(这解决了我的问题):

                except UnicodeDecodeError:
                    pass

不是UnicodeEncodeError

答案 2 :(得分:0)

在我的情况下,文件夹路径包含一个中文部分,同样的麻烦。

答案 3 :(得分:0)

我通过更改文件解决了问题:

  • \ Anaconda2 \ LIB \ ntpath.py:

result_path = result_path + p_path

try:
    result_path = result_path + p_path
except UnicodeDecodeError:
    pass
  • \ Anaconda2 \ LIB \站点包\ jupyter_core \ paths.py

homedir = os.path.realpath(homedir)

homedir = os.path.realpath(homedir).decode(sys.getfilesystemencoding())

appdata = os.environ.get('APPDATA', None)

appdata = os.environ.get('APPDATA', None).decode(sys.getfilesystemencoding())

  • \ Anaconda2 \ LIB \站点包\笔记本\ notebookapp.py

home = os.path.expanduser('~')

home = os.path.expanduser('~').decode(sys.getfilesystemencoding())