我安装了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的错误。希望有经验的人可以提供帮助;)我现在必须降级; \
答案 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)
我通过更改文件解决了问题:
result_path = result_path + p_path
到
try:
result_path = result_path + p_path
except UnicodeDecodeError:
pass
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())
home = os.path.expanduser('~')
到
home = os.path.expanduser('~').decode(sys.getfilesystemencoding())