SourceForge logo
SourceForge logo
Menu

Re: [matplotlib-devel] 1.3.0 final tagged and uploaded

From: Michael D. <md...@st...> - 2013年08月02日 13:55:25
Ludwig, this is one of the most entertaining e-mails I've read in a 
while, and I think your arguments make a lot of sense.
Given infinite developer resources, do you think there's any logic to 
providing *both* system Python and python.org based binaries? How much 
additional work would that be?
I think the big problems to solve now is
(a) get to the bottom of why the new installer is breaking existing 
installations of dateutil and pytz. Russell: even though they are not 
currently working, could you provide what you have so that others can 
have a look?
(b) find a way to include the Python dependencies and perhaps be more 
clever about Numpy. I think using `pip bundle` comes close -- we then 
just need to make a fairly generic installer on top of what it 
produces. Any Mac installer experts out there that want to step up?
Mike
On 08/01/2013 06:45 PM, Ludwig Schwardt wrote:
> Hi Russell (and Mike),
>> Is it useful in the long term to have such a packager? My impression is
>> that as soon as packaging is more robust we'll switch to using pip or
>> easy_install.
> First off, sorry for the long email - got a bit carried away :-) The 
> summary is that I propose we keep the dmg installer but maybe make it 
> use the system Python for reasons illustrated below.
>
> For the record, I'm using pip / easy_install to install matplotlib 
> from source on my Mac and that has been working fine for a while now. 
> You only need to add pkg-config (and the development tools, obviously) 
> to a virgin Mac system and this is now really easy in the days of 
> Homebrew.
>
> Of course, binary packages have the extra issue of a dependency on the 
> environment for which it is built, which complicates matters for 
> binary eggs (thanks for the reminder of wheel, Mike - definitely 
> something to watch). This is the main reason why I don't use the Mac 
> installer dmg: it's built for python.org <http://python.org> Python 
> and I prefer to use system Python instead.
>
> (On this note, it would be interesting to find out how matplotlib 
> people get Python on their Mac these days. My gut feel tells me that 
> Homebrew Python will be quite popular these days, followed by EPD / 
> Anaconda and then maybe python.org <http://python.org> Python. If you 
> use Homebrew there is now the option of "brew install matplotlib" 
> courtesy of Samuel John 
> <https://github.com/samueljohn/homebrew-python/blob/master/matplotlib.rb>, 
> while EPD and Anaconda ship with their own versions of matplotlib, so 
> most of those users are taken care of.)
>
> To answer your original question: I do see a use for a dmg installer 
> in the long term, but one you might not have considered. I picture a 
> Mac user who is not familiar with Python but wants to try out 
> matplotlib (the image of Justin Long saying "Hello, I'm a Mac" somehow 
> comes to mind :-)).
>
> Justin has never heard of easy_install or even a compiler and might 
> not be that comfortable with the Terminal. On the other hand, he is 
> used to installing software by downloading and clicking on a dmg or 
> via the App Store. This is a person who is starting out with these 
> tools and needs as few obstacles as possible to get going. Once he is 
> up and running and likes what he sees, he might be persuaded to 
> install a more full-fledged Python distribution or the rest of the 
> SciPy stack.
>
> As an experiment I put myself in the shoes of Justin. I actually did 
> the steps below on a spare MacBook Pro running Mac OS X 10.7.5 that 
> was unsullied by extra Pythons and rogue matplotlibs and what not.
>
> <BEGIN EXPERIMENT>
>
> Someone told me about "matplotlib" (maybe after seeing a plot in a 
> talk or a paper) which led me to matplotlib.org 
> <http://matplotlib.org> (first Google hit).
>
> I see "Download" and go to the downloads page 
> <http://matplotlib.org/downloads.html>. I see a bunch of links, 
> including these two under "Latest stable version":
>
> matplotlib-1.2.1-py2.7-python.org-macosx10.3.dmg
> matplotlib-1.2.1-py2.7-python.org-macosx10.6.dmg
>
> Since I am on Lion I guess I have to download the latter (although the 
> fact that it says 10.6 and not 10.7 worries me...). I'm not sure what 
> the rest of the filename means - what is py27-python.org 
> <http://py27-python.org>? I download the dmg and open it. I am 
> impatient like most users and click on "Continue".
>
> Oops, there is a problem. The third "Continue" button is grayed out 
> with an error that says: "matplotlib 1.2.1 can't be installed on this 
> disk. matplotlib requires System Python 2.7 to install." [This is 
> ironic because, unbeknownst to Justin, he actually *has* System Python 
> 2.7 installed...] Time to click on "Go Back"... Aah, Important 
> Information (I kick myself for not reading this): "matplotlib for 
> MacOS X 10.6 or later [cool!] and 64-bit Python 2.7 from python.org 
> <http://python.org> (not Apple's built-in Python)". So that's probably 
> what py2.7-python.org <http://py2.7-python.org> refers to. If Justin 
> is patient enough he might also spot the following line: "Before 
> running matplotlib, you must install numpy."
>
> [Clicking "Go Back" would have been the more useful thing to do in 
> this case. If I had decided to return to matplotlib.org 
> <http://matplotlib.org>, I might have seen "Need help?" and clicked on 
> the "faq" link and ended up at the OS-X Notes 
> <http://matplotlib.org/1.3.0/faq/installing_faq.html#os-x-notes>. This 
> mentions "several alternative versions of python" such as EPD, 
> MacPython (yikes, Leopard only!) or python.org <http://python.org>. 
> But the installer only works with the latter... Surprisingly enough I 
> could not find *any* explicit mention in the matplotlib installation 
> docs that you need to install NumPy first. EDIT: Oh wait, it's well 
> documented here <http://matplotlib.org/users/installing.html> but I 
> can only reach this important page by clicking on "docs" in the 
> toolbar below the page title and spotting the "Installing" link. Maybe 
> the "Download" section on the front page should read "Read the 
> installation instructions 
> <http://matplotlib.org/users/installing.html> first and then visit the 
> matplotlib downloads page <http://matplotlib.org/downloads.html>."]
>
> Time to visit python.org <http://python.org>. I see "Download" and 
> then notice "Python 2.7.5 Mac OS X 64-bit/32-bit x86-64/i386 Installer 
> (for Mac OS X 10.6 and later [2])". I download the dmg and click on 
> it. The installation is successful. I go back to the matplotlib dmg 
> and retry the installation - success!
>
> Mmm, what now?
>
> [This is not really matplotlib's problem, but I found surprisingly few 
> resources that tell you how to start Python on the Mac if you know 
> absolutely nothing about Unix and Terminals and such. If you search 
> for "python mac" on Google you at least get some idea at the first hit 
> <http://www.python.org/getit/mac/>. The official Mac usage page 
> <http://docs.python.org/2/using/mac.html> is quite technical but 
> mentions that "your best way to get started with Python on Mac OS X is 
> through the IDLE integrated development environment" which at least 
> gets you to a Python prompt.]
>
> As a typical Mac user I expect that something has appeared in 
> /Applications. I see no matplotlib but at least there is a Python 2.7 
> folder. I click on "Python Launcher" which seems like the obvious 
> place to start. Nothing happens - oh wait, something has started but 
> it doesn't do much. I click on IDLE and this looks more promising. At 
> least there is a prompt that looks like the examples on the net. 
> Alternatively I have somehow found out how to run Python in the Terminal.
>
> Next issue... I type "import matplotlib" and up comes "ImportError: No 
> module named numpy". A search reveals www.numpy.org 
> <http://www.numpy.org>. I click on "Getting NumPy" and end up at the 
> SciPy installation page <http://www.scipy.org/install.html>. It 
> mentions Mac packages but only give an example for using Macports. 
> Otherwise it suggests installing a full Python distribution (What, 
> start from scratch? But I'm so close!).
>
> Argh, this is becoming a PITA. [At this stage Justin might 
> accidentally install a compiler and enter a new world of hurt :-)] Oh 
> well, the interwebs to the rescue. Search for "numpy mac". The first 
> hit is the aforementioned page. The second hit 
> <http://stackoverflow.com/questions/7338051/install-numpy-on-mac-os-x-lion-10-7> 
> looks more promising, but contains many conflicting answers ("Lion 
> comes with numpy installed?"). If I'm lucky I might follow the last 
> suggestion which reveals the NumPy SourceForge 
> <http://sourceforge.net/projects/numpy/files/NumPy/> page. Or I could 
> read the Numpy User Guide (DRAFT) -> Building and installing NumPy -> 
> Mac OS X which points there too.
>
> I assume I want the latest version (1.7.1) and I stumble upon 
> numpy-1.7.1-py2.7-python.org-macosx10.6.dmg. Hey, that has a familiar 
> and comforting filename! It installs without a hitch and finally 
> "import matplotlib" succeeds and I manage to make a plot from IDLE!
>
> Now I need a drink...
>
> <END EXPERIMENT>
>
> This was quite an eye-opener for me (although I wish I could shut my 
> eyes again quickly and forget this ever happened :-)). Hopefully the 
> typical would-be matplotlib user is not as hapless as Justin, but I 
> suspect that quite a few need guidance. I guess their best chance for 
> happiness is to stumble upon a full-fledged Python distribution but if 
> matplotlib is their entry point to the Python universe they might be 
> in for an adventure ride. Although if I had read the proper matplotlib 
> installation instructions first I might have gone straight to EPD...
>
> I picture the following basic Mac user groups:
>
> - Black belt: pulls git repositories to get bleeding-edge packages, 
> compiles from scratch, lives in the Terminal, probably uses Homebrew 
> Python or EPD / Anaconda or some custom Python installation
> - Savvy: likes to install packages via pip / easy_install, probably 
> has a compiler, not afraid of Terminal, probably uses Homebrew Python 
> or EPD / Anaconda or maybe even Macports / Fink Python
> - No Fuss: likes to click on a dmg, has no compiler, rarely uses 
> Terminal, possibly has EPD / Anaconda or just system Python
> - Justin: a hapless version of No Fuss :-)
>
> The problem I see with the binary dmg installer is that it is 
> currently aimed somewhere between Savvy and No Fuss users. It won't 
> help the Black Belt and EPD / Anaconda users and is also not as 
> straightforward as the No Fuss user would have hoped.
>
> This is why I'm wondering whether it would make more sense to base the 
> dmg installer on system Python instead. Since Lion ships with Python 
> 2.7.1, NumPy 1.5.1, libfreetype and libpng, OS X has had the potential 
> since 10.7 to run matplotlib out of the box with no modifications or 
> extra dependencies (although the latest 1.3.0 might throw a spanner in 
> the works again by shedding dateutil, pytz and friends). A No Fuss 
> user like Justin could therefore click on the dmg as he does with all 
> his other software installations and matplotlib will "just work" like 
> the OS X mantra says. Having used system Python extensively for many 
> years I can vouch that it is more than adequate for someone wanting to 
> try out matplotlib and sure is easier to install!
>
> Of course, maintaining the dmg installer is already a big job and your 
> work load is therefore probably the biggest factor in these 
> discussions :-)
>
> Best regards,
> Ludwig
>
>
>
> ------------------------------------------------------------------------------
> Get your SQL database under version control now!
> Version control is standard for application code, but databases havent
> caught up. So what steps can you take to put your SQL databases under
> version control? Why should you start doing it? Read more to find out.
> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
>
>
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

View entire thread

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /