On Sun, Mar 29, 2009 at 1:14 AM, Karen Tracey <kmtra...@gmail.com> wrote:
> On Sat, Mar 28, 2009 at 11:45 PM, Eric Firing <efir...@hawaii.edu> wrote: > >> Karen Tracey wrote: >> >> Hmm, the Ubuntu packaging for matplotlib seems to put a copy of >>> matplotlibrc only in /etc, where, I gather, it will not ever be used by >>> matplotlib? I guess one is supposed to copy it to one's home directory and >>> do per-user customization there. For my case, where the code is running >>> under Apache, I'd guess no matplotlibrc is being found so all defaults are >>> being used. >>> >> >> Karen, >> >> That seems a little odd; matplotlib doesn't look in /etc by default. >> Although I run ubuntu, I have never used the ubuntu package, so I have not >> run into this. >> >> The default matplotlibrc has been stripped down to a bare minimum: >> everything but the default backend selection is commented out. >> >> You may have already discovered this, but in case you haven't, you can >> find out where the active matplotlibrc is being found by using >> matplotlib_fname(): >> >> In [1]:import matplotlib >> >> In [2]:matplotlib.matplotlib_fname() >> >> Out[2]:'/usr/local/lib/python2.5/site-packages/matplotlib/mpl-data/matplotlibrc' >> > > Thanks, I hadn't found that. It seems the Ubuntu packaging has changed > things a bit: > > k...@lbox:~$ python > Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49) > [GCC 4.3.2] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import matplotlib > >>> matplotlib.__version__ > '0.98.3' > >>> matplotlib.matplotlib_fname() > '/etc/matplotlibrc' > >>> matplotlib.get_data_path() > '/usr/share/matplotlib/mpl-data' > >>> > > Looking at the source code, I see in > /usr/lib/python2.5/site-packages/matplotlib/__init__.py (which is actually a > link to /usr/share/pyshared/matplotlib/__init__.py which I gather is a way > of having packages that run under multiple Python versions only have one > copy of the files installed), in matplotlib_fname, the very end is: > > path = '/etc' # guaranteed to exist or raise > fname = os.path.join(path, 'matplotlibrc') > if not os.path.exists(fname): > warnings.warn('Could not find matplotlibrc; using defaults') > return fname > > That is, it looks like they have hardcoded '/etc' where the > lib/matplotlib/__init__.py file in SVN has a call to get_data_path(). Don't > know why, but apparently if you run the Ubuntu repository version it's > /etc/matplotlibrc that gets used (assuming nothing is found earlier in the > search order). They like all config-type files to be under /etc maybe? > They are trying to do right by the linux file standard. /etc is really where the global matplotlibrc belongs. Darren
------------------------------------------------------------------------------
_______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel