After a recent upgrade of numpy (1.13.1 -> 1.6.0), my code is failing where I provide unicode objects as filenames.
Previously they were allowed. Now that are not, and I *must* provide a (py2) str or bytearray only.
# str is OK
$ python2.7 -c "from numpy.compat import py3k; print py3k.os_fspath('123')"
123
# unicode is not
$ python -c "from numpy.compat import py3k; print py3k.os_fspath(u'123')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/numpy/compat/py3k.py", line 237, in os_fspath
"not " + path_type.__name__)
TypeError: expected str, bytes or os.PathLike object, not unicode
.... so... shouldn't py3k.os_fspath allow py2 unicode obejcts.