From: Joel B. M. <jm...@ga...> - 2013-12-06 18:36:00
|
On 12/6/2013 12:45 PM, Thomas Kluyver wrote: > On 6 December 2013 04:55, Joel B. Mohler <jm...@ga... > <mailto:jm...@ga...>> wrote: > > C:\Python27\lib\site-packages\matplotlib\__init__.py in Verbose() > --> 252 for arg in map(six.u, sys.argv[1:]): > C:\Python27\lib\site-packages\six.pyc in u(s) > --> 468 return unicode(s, "unicode_escape") > UnicodeDecodeError: 'unicodeescape' codec can't decode bytes in > position > 2-3: truncated \UXXXXXXXX escape > > > I'll bet that one of the arguments starts with C:\Users. It looks like > six.u() can't be applied to arbitrary input (it's intended for literals). Indeed, I suspect you are exactly right. After pondering the transcript below, I think it is bad idea to apply six.u to any sort of relatively unknown input. In any case, I believe this effectively breaks matplotlib in the IPython notebook on windows and other very simple things. Behold: C:\>python -c "import matplotlib" any_old_thing_with_\u_in_it Traceback (most recent call last): File "<string>", line 1, in <module> File "c:\python27\lib\site-packages\matplotlib\__init__.py", line 240, in <module> class Verbose: File "c:\python27\lib\site-packages\matplotlib\__init__.py", line 252, in Verbose for arg in map(six.u, sys.argv[1:]): File "c:\python27\lib\site-packages\six.py", line 468, in u return unicode(s, "unicode_escape") UnicodeDecodeError: 'unicodeescape' codec can't decode bytes in position 19-20: truncated \uXXXX escape It seems to me that this changeset needs to be rolled back, but I don't clearly see the problem that it was intended to fix. Joel |