I have not built modern versions of matplotlib for python.org's Python  
2.5 because its  Tcl/Tk support is badly broken such that any attempt  
to use a "reasonable" version of Tcl/Tk (e.g. ActiveState 8.4.19) will  
cause segfaults. Perhaps I am being unreasonable but:
- I use Tcl/Tk extensively so I care about it a lot
- Segfaults are frustrating for everybody and reflect badly on  
matplotlib (however unfairly)

The Tcl/Tk 8.4 included by Apple in all versions of its OS to date has  
is old and buggy. (Even the last version of 8.4 -- 8.4.19 -- has bugs,  
but it's a lot better than Apple's version). Hence it is important for  
users to be able to upgrade without getting segfaults.

So my recommendation is not to Python 2.5 on a Mac.


Regarding binary eggs for matplotlib, I suspect there are issues that  
will make easy_install not work well:
- The builder script setupegg.py does not seem to include dependency  
information. I found setupegg.py a bit confusing so I may have missed  
something. But if the dependencies are missing, surely this is a bug?
- Is there some way to name the eggs to disambiguate between 32-bit  
Python 2.7 (which works on all versions of Mac OS X) and 64-bit Python  
2.7 (which only works on 10.6) that is compatible with easy_install?  
In the past if the eggs had strange names easy_install misbehaved.

Also setup.cfg is a bit of a pain when making distributions because:
- The default back end is Agg instead of TkAgg. Surely it should be  
TkAgg if Tkinter is present in the Python?
- For binary installers your desire is to include pytz and dateutil in  
the distribution. But for eggs your desire is to exclude them and list  
them as dependencies instead. I think these are reasonable rules, but  
they're not the default. Instead one has to edit setup.cfg one way for  
binary distributions and another way for eggs. That makes building  
releases more error-prone.

I do realize that in the long term you'd be better off with only one  
kind of binary: eggs or binary installers (presumably eggs). But  
unless easy_install has improved a lot I don't think we're there yet.

Regards,

-- Russell

On Jan 20, 2011, at 9:07 AM, John Hunter wrote:

> On Thu, Jan 20, 2011 at 10:23 AM, Jeffrey Wong <jeffw...@gmail.com>  
> wrote:
>> On Jan 20, 2011, at 6:14 AM, John Hunter wrote:
>>
>>> On Thu, Jan 20, 2011 at 2:50 AM, Jeffrey Wong <jeffw...@gmail.com>  
>>> wrote:
>>>> Hi,
>>>>
>>>> I tried to install matplotlib on python 2.7 and use the graph  
>>>> drawing functionality with NetworkX (nodes and edges).
>>>>
>>>> easy_install and pip both think that the latest version is  
>>>> 0.91.1, which is wrong because it will import numpy.core.ma  
>>>> instead of numpy.ma.
>>>>
>>>>
>>>> I'm not sure how to fix this but PyPI lists you as the maintainer  
>>>> so I thought you might know.
>>>>
>>>> Thanks for putting it in PyPI anyhow!
>>>
>>> CC-ing the devel list.
>>>
>>> It's not clear to me why this is -- I have 1.0.1 as the active  
>>> version
>>> on pypi, which is reflected on  http://pypi.python.org/pypi/matplotlib
>>> and the download URL is listed as
>>>
>>> https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/
>>>
>>> 0.91.1 is flagged as hidden.  I am not a pypi expert, but don't see
>>> anything wrong here,
>>
>>
>> I can't use my python 2.7 to reproduce the problem since I  
>> installed matplotlib manually using the MacOS X Python 2.7 dmg/ 
>> installer.
>> It now sees matplotlib 1.0.1-r0 as current.
>>
>> However with the system python 2.5, it makes the following search:
>>
>> emcs-imac:Facethingy jeffwong$ /usr/bin/easy_install -n matplotlib
>> Searching for matplotlib
>> Reading http://pypi.python.org/simple/matplotlib/
>> Reading http://matplotlib.sourceforge.net
>> Reading 
>> https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0
>> Reading 
>> https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.3/
>> Reading 
>> http://sourceforge.net/project/showfiles.php?group_id=80706&package_id=82474
>> Reading 
>> https://sourceforge.net/project/showfiles.php?group_id=80706&package_id=278194
>> Reading http://sourceforge.net/project/showfiles.php?group_id=80706
>> Reading 
>> https://sourceforge.net/project/showfiles.php?group_id=80706&package_id=82474
>> Reading 
>> https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.1/
>> Reading 
>> https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/
>> Best match: matplotlib 0.91.1
>> Downloading 
>> http://pypi.python.org/packages/source/m/matplotlib/matplotlib-0.91.1.tar.gz#md5
>>  
>> =56a9344b077b5accbc4823be19f69dd6
>> ^Cinterrupted
>> emcs-imac:Facethingy jeffwong$
>>
>>
>> Perhaps someone sees something obviously wrong with this...
>
> I see -- we have seen problems with this before.  It is very difficult
> to get eggs names properly for OSX that are recognized.  We have
>
> http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1_r0-py2.7-macosx-10.3-fat.egg/download
>
> My guess is that the "_r0" or "10.3" in the name is breaking the  
> matching rule
>
> JDH


------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to