-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Fix TypeError: a bytes-like object is required, not 'str' #9292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
lib/matplotlib/dviread.py
Outdated
@@ -1030,6 +1030,12 @@ def find_tex_file(filename, format=None): | |||
The library that :program:`kpsewhich` is part of. | |||
""" | |||
|
|||
if six.PY3: | |||
if isinstance(filename, bytes): | |||
filename = filename.decode('utf-8', errors='replace') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should probably use https://docs.python.org/3/library/os.html#os.fsdecode here?
For format I dunno what is the correct encoding; that probably is deep into the kpsewhich sources but I guess all relevant formats have ASCII compatible names so utf-8 should just be fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure the filesystem encoding is a better choice for a function searching for a file. Is this even relevant? MikTeX's kpsewhich does not find any non-ASCII file name.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
then perhaps add a comment that in practice the encoding is irrelevant -- other than being ASCII-compatible -- because you don't expect non-ASCII filenames to be found (to avoid later head-scratching as to why utf-8).
@cgohlke You mind if I push to your branch? |
@anntzer I added a line comment about the encoding. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
waiting for tests
The doc failure is un-related and fixed on all the active branches. |
Backport PR #9292 on branch v2.1.x
Fix multipage_pdf.py failing on Python 3 (tested on Windows with matplotlib-2.1):