[Pythonmac-SIG] New Page, first proposal

Christopher Barker Chris.Barker at noaa.gov
Wed Feb 8 19:06:48 CET 2006


I wrote this yesterday, but didn't get a chance to click send before 
catching a bus.

Thanks for doing this Charles.

(I've put in my responses to multiple post here)

> also I hope a prominent one slapped onto the top of the MacPython
> site.)

Do you mean Jack Jansen's site?


> For a page title that covers the ground broadly and accurately, I
> propose Python on the Mac

Looks good, Does "Mac" now mean OS-X unambiguously?

> Four stages in the project are foreseeable: 1. Establish the basic
> organization of the page 2. Collect the essential technical data, and
> probably also less essential materials to be relegated to secondary
> pages 3. Produce some friendly prose 4. Build the html for the page

One more step: Develop a consensus as to the "standard" way to use
Python in the Mac to be recommended to newbies.

Also, the Main Page (or pages) should be brief, with the more
complicated instructions and discussion put in the Wiki.

> Here I'm proposing an approach to #1. I suggest the page be organized
> by audience,

I think the main page should be oriented to the newbie, with obvious
links to more complicated topics.

> ===== the Python-on-the-Mac page =======================
> 
> [1] "If you're a Mac user who wants to learn to write Python
> programs": note Apple distro, be politely disparaging toward it,
> provide links to Bob's framework, with notes (how extensive is this?)
> on other stuff required ActiveState's framework, with similar notes

Maybe a link to a Wiki page about "other MacPython distributions:
Apples, fink, darwinports, Activestate, compiling from source. One, and
only one (maybe two, for 10.4 and 10.4 -- see below), distribution
should be suggested on the main page.

> [2] "If you want an editor or full-fledged IDE (rather than using the
>  Terminal)": provide links, with brief descriptions, to Wing IDE 
> BBEdit/TextWrangler ?? discuss briefly the non-terrors of working in
> the Terminal

This is tough, as I think there is still no really good, bug free IDE
(at least no open source ones). I wish there was one we could really
recommend.

> [3] "If you want to write programs with windows and buttons":

> [4] "If your programs need other specialized tools":

I think these should be links to Wiki Pages:

"""
You can write a variety of different kinds of software with Python,
depending on what your goals are, there are different libraries you can use:

For simple command line tools, you can just use python and the terminal.

For Web Application development: <link to Wiki Page on Web frameworks>

For GUI programming: <link to Wiki page about GUI Programing>
    This is a pretty big one. I think it should be structured a bit like;
    Coding for just the mac: <link to page about PyObjC>
    Coding for cross platform:
        Discussion of TK and wx, and links to pages about each of them.

For Scientific programming: <link to page about SciPy, numpy, etc.>
"""

> [5] "If you want to write C (or other) extensions, or embed Python,
> or …": Describe the current state of considerations about target Mac
> system

This is an advanced topic that should be in the Wiki. I don't know that
it needs a mention on the Main page at all.

> 1. I'm not at all clear whether it's necessary to address the
> question of platform (is the user running 10.3 or 10.4? does the
> sub-version matter?) before that last, extensions stage.

I may or may not, depending on what we decide the "standard"
Distribution should be. At the moment, I'm inclined to say this:

If you're running OS-X 10.3.*:
   Bob's Framework Build of 2.4.1 (or better yet, a new one of 2.4.2, if
someone wants to built it)

If you're running OS-X 10.4.*
   The new, upcoming Universal Framework Build.

Ideally, there is a Wiki page explaining a bunch of the issues, but I
think this keeps it simple, and will fit most needs.

Then we need Pointers to download pages for packages:

One page for the 10.3 build.

One page for the 10.4 build.

Maybe a link to a page with all the other packages that are no at
pythonmac.org/packages


> 2. Would it be legitimate to start the page off with a little list of
>  things to do for those who get worried by too many choices?

Yes.

> For me, the list would be (1) get Bob's framework (2) pick and
> install an IDE

Given the state of IDEs and their installers, don't start there. Start
with a the terminal and a text editor.

> (3) go  get one of the following books or read the following
> instructional sites.

Or point them to:
http://wiki.python.org/moin/BeginnersGuide

> 3. Once this sketch is fleshed out fully enough to be not misleading,
> I fear that keeping it on a single page may get cumbersome. If that 
> happens, do we prefer a couple of sequential pages ("Next…") or some
>  kind of branch?

I think I answered that: One page and the rest in the Wiki, except the
download pages.

> Somebody who comes idly to the idea of programming in Python, and 
> finds the pythonmac page, will be happy if the result is an 
> afternoon's work that ends in a "hello world," possibly in a window.
>  Using my own arbitrary preferences, that would entail:
> 
> 1. downloading & installing Bob's framework 2. downloading &
> installing TigerPython24Fix 3. adding /usr/local/bin to the PATH

We really should build an installer that does the three of these at once
(with the PATH editing optional). I have no idea how to do that, though.

> 4. downloading & installing wxPython
I don't think wxPython is that starting point. And I'm a big wxPython fan.

> 5. downloading & installing [fill in name of IDE]

Until there is one robust enough to really recommend, we're not there
yet. How's SPE doing on the mac these days? Also, different IDEs are
different, they each need their own tutorial, ideally one Mac-centered,
but that's no our job.

I do think a little "getting started" tutorial with a editor and the
command line is a good idea, however. enough that they can read one of
the intro books and know what to do.

Bill Janssen wrote:

> Who wants to open windows?  Why is a GUI automatically necessary?

I agree, it's not. And if your goal is web programming, it never will be.

> And if it is, all you need is already there on 10.4

Here's where I'm not sure. I do like that it's this easy, and I know the
fact that python comes with OS-X has been good marketing for me in my
organization.

As for the Apple-supplied Python. Yes, it's fine. I used it for a good
while. However, it really is getting pretty old. That isn't a problem in
and of itself, but people are now making third-party packages that
require 2.4, and most of the people building and distributing binaries
are doing it for 2.4.1 also. While it's easier for a newbie to get
started with the built-in python, they may well hit a brick wall soon.

I think that anyone doing any real work with Python is going to need use
a third party package pretty soon in the game. As they can't use only
pre-installed stuff, it's not that big a deal for them to install a new
python as well, if we make it easy.

I'm a bit wary of saying to newbies: "Here you go, look how easy this
is!", then when they start doing more, saying: "By the way, no that
you're really doing something real, you need to go do this extra stuff"

I'm not convinced about this. I may vote for a link near the top of the
main page labeled "The ultra-quick easy intro to Python", to a Wiki page
with this:

, in three minutes:
> 1)  Click on Applications/Utilities/Terminal.
> 
> 2)  In the terminal window, enter the following line:
> 
> % pythonw
> 
> 3)  You will see a prompt ">>>".  At the prompt, enter the following
> line:
> 
>>>> print "Hello, World!"
> 
> and you will see "Hello, World!" written back to you.
> 
> 4)  To do this in a window, enter the following lines at the ">>>"
> prompt:
> 
>>>> import wx app = wx.PySimpleApp() frame = wx.Frame(None, -1,
>>>> "Hello World").Show(1) app.MainLoop()
> 
> That's it!

Then maybe a little discussion of why (and when) one might want to
download a newer Python. Also a pointer back to the page that discusses
what GUI toolkit tone might want to use.

> *Don't* deprecate the Apple pre-installed Python!  Rejoice in it!
> And then hint that even better things are available in 2.4.x...

I think it needs to be a strong suggestion, rather than a hint. A big
part of this is that having a large collection of pre-built packages is
key, and I don't see that happening for Apple's Python.


-Chris

-- 
Christopher Barker, Ph.D.
Oceanographer
                                     		
NOAA/OR&R/HAZMAT         (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov


More information about the Pythonmac-SIG mailing list