I am using Fedora 19, 64 bit, and the distribution's python 3.3.2, and
the most recent version of mpl from git

there seems to be a bug in the starup routine where proper conversion
from bytes to string (as needed for Python 3) is not done

the problem is in

/matplotlib/__init__.py, line 459 ... 460

    459     gs_exec, gs_v = checkdep_ghostscript()
    460     if compare_versions(gs_v, gs_sugg): pass

ipdb> gs_exec,  gs_v
('gs', b'9.07')

where clearly gs_v needs to be str

Could you please make checkdep_ghostscript() to be python3-save by
changing line 334 from

v = stdout[:-1]

to

v = stdout[:-1].decode('ascii')

(my apologies not following the bug report procedures; I hope you can
consider it anyway)

-Alexander


~/python/source3>ip
Python 3.3.2 (default, Aug 23 2013, 19:00:04)
Type "copyright", "credits" or "license" for more information.

IPython 0.13.2 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
[TerminalIPythonApp] GUI event loop or pylab initialization failed
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/lib/python3.3/site-packages/IPython/core/pylabtools.py in
find_gui_and_backend(gui)
    194     """
    195
--> 196     import matplotlib
    197
    198     if gui and gui != 'auto':

/home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py
in <module>()
    975
    976 rcParams['ps.usedistiller'] =
checkdep_ps_distiller(rcParams['ps.usedistiller'])
--> 977 rcParams['text.usetex'] = checkdep_usetex(rcParams['text.usetex'])
    978
    979 if rcParams['axes.formatter.use_locale']:

/home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py
in checkdep_usetex(s)
    458
    459     gs_exec, gs_v = checkdep_ghostscript()
--> 460     if compare_versions(gs_v, gs_sugg): pass
    461     elif compare_versions(gs_v, gs_req):
    462         verbose.report(('ghostscript-%s found. ghostscript-%s
or later is '

/home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py
in compare_versions(a, b)
    116     "return True if a is greater than or equal to b"
    117     if a:
--> 118         a = distutils.version.LooseVersion(a)
    119         b = distutils.version.LooseVersion(b)
    120         if a>=b: return True

/usr/lib64/python3.3/distutils/version.py in __init__(self, vstring)
    308     def __init__ (self, vstring=None):
    309         if vstring:
--> 310             self.parse(vstring)
    311
    312

/usr/lib64/python3.3/distutils/version.py in parse(self, vstring)
    316         # use by __str__
    317         self.vstring = vstring
--> 318         components = [x for x in self.component_re.split(vstring)
    319                               if x and x != '.']
    320         for i, obj in enumerate(components):

TypeError: can't use a string pattern on a bytes-like object

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to