Zubin Mithra wrote:
Hey everyone,

I was running 2to3 on a particular file and I got the following traceback(
http://paste.pocoo.org/show/223468/).

For short amounts of text, such as a traceback, please don't use a paste bin, just copy it into your post.

Some people are reading mail at a time or place where they might not have web access, or from somewhere that blocks access to the paste bin, but they can still read mail.

In your case, the error is:


Traceback (most recent call last):
  File "setup.py", line 86, in <module>
    util.run_2to3([i])
  File "/usr/lib/python3.0/distutils/util.py", line 572, in run_2to3
    r.refactor(files, write=True)
  File "/usr/lib/python3.0/lib2to3/refactor.py", line 196, in refactor
    self.refactor_file(dir_or_file, write, doctests_only)
  File "/usr/lib/python3.0/lib2to3/refactor.py", line 224, in refactor_file
    input = f.read() + "\n" # Silence certain parse errors
  File "/usr/lib/python3.0/io.py", line 1728, in read
    decoder.decode(self.buffer.read(), final=True))
  File "/usr/lib/python3.0/io.py", line 1299, in decode
    output = self.decoder.decode(input, final=final)
  File "/usr/lib/python3.0/codecs.py", line 300, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 232-234: invalid data


which looks like a bug in the 2to3 script.

This is not really a tutor question -- this list is for learning Python, not general Python related questions. In future, you might have better responses on the main python list, <python-l...@python.org>.

But my guess is that the source file you are trying to convert contains an encoded character that doesn't exist in UTF-8. Try opening the original file (not the copy on the paste bin) and extracting those three bytes, and see what they are:


fp = open('distutils.util.py', 'r')
text = fp.read(234)
fp.close()
n = len(text.split('\n'))
s = text[232:235]
print("Bad bytes %r on line %d" % (s, n))



--
Steven

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to