MACOSX
* Remove junk documentation resources from the Python.app inside the framework (This is a left-over from the ancient Python IDE, which was removed before 2.5) * Ensure that the documentation is installed in a location where IDLE will see it
|  | @ -614,10 +614,9 @@ def buildPythonDocs(): | |||
|     runCommand('make update') | ||||
|     runCommand('make html') | ||||
|     os.chdir(curDir) | ||||
|     if not os.path.exists(docdir): | ||||
|         os.mkdir(docdir) | ||||
|     os.rename(os.path.join(buildDir, 'build', 'html'), | ||||
|             os.path.join(docdir, 'python-docs-html')) | ||||
|     if os.path.exists(docdir): | ||||
|         os.rmdir(docdir) | ||||
|     os.rename(os.path.join(buildDir, 'build', 'html'), docdir) | ||||
| 
 | ||||
| 
 | ||||
| def buildPython(): | ||||
|  | @ -663,7 +662,7 @@ def buildPython(): | |||
|     runCommand("make") | ||||
| 
 | ||||
|     print "Running make frameworkinstall" | ||||
|     runCommand("make frameworkinstall DESTDIR=%s"%( | ||||
|     runCommand("make install DESTDIR=%s"%( | ||||
|         shellQuote(rootDir))) | ||||
| 
 | ||||
|     print "Running make frameworkinstallextras" | ||||
|  |  | |||
|  | @ -38,12 +38,7 @@ STRIPFLAG=-s | |||
| CPMAC=/Developer/Tools/CpMac | ||||
| 
 | ||||
| APPTEMPLATE=$(srcdir)/Resources/app | ||||
| APPSUBDIRS=MacOS Resources Resources/English.lproj \
 | ||||
| 	Resources/English.lproj/Documentation \
 | ||||
| 	Resources/English.lproj/Documentation/doc \
 | ||||
| 	Resources/English.lproj/Documentation/ide | ||||
| DOCDIR=$(srcdir)/Resources/app/Resources/English.lproj/Documentation | ||||
| DOCINDEX=$(DOCDIR)/"Documentation idx" | ||||
| APPSUBDIRS=MacOS Resources  | ||||
| compileall=$(srcdir)/../Lib/compileall.py | ||||
| 
 | ||||
| installapps: install_Python install_PythonLauncher install_IDLE \ | ||||
|  | @ -157,9 +152,6 @@ install_PythonLauncher: | |||
| 	cd PythonLauncher && make install DESTDIR=$(DESTDIR) | ||||
| 
 | ||||
| install_Python: | ||||
| 	@if test ! -f $(DOCINDEX); then \
 | ||||
| 		echo WARNING: you should run Apple Help Indexing Tool on $(DOCDIR); \
 | ||||
| 	fi | ||||
| 	@for i in "$(PYTHONAPPSDIR)" "$(APPINSTALLDIR)" "$(APPINSTALLDIR)/Contents"; do \
 | ||||
| 		if test ! -d "$(DESTDIR)$$i"; then \
 | ||||
| 			echo "Creating directory $(DESTDIR)$$i"; \
 | ||||
|  |  | |||
| Before Width: | Height: | Size: 5.9 KiB | 
|  | @ -1,69 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>What is MacPython?</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| </head> | ||||
| <body> | ||||
| 		<table> | ||||
| 		<tr> | ||||
| 			<td> | ||||
| 				<img src="python.gif" width="128" height="128" align="top" alt=""> | ||||
| 			</td> | ||||
| 			<td> | ||||
| 				<h1>MacPython Community</h1>	 | ||||
| 			</td> | ||||
| 		</tr> | ||||
| 		</table> | ||||
| 		<hr> | ||||
| 
 | ||||
| <h2>Web Sites</h2> | ||||
| 
 | ||||
| <p>The MacPython homepage, <a href="http://www.cwi.nl/~jack/macpython.html"> | ||||
| www.cwi.nl/~jack/macpython.html</a> | ||||
| is where you can find installers, documents, links to useful packages and more.  | ||||
| And, of course, | ||||
| <a href="http://www.python.org">www.python.org</a> has a much larger collection | ||||
| of material on Python that is not Mac-specific.</p> | ||||
| 
 | ||||
| <h2>News groups and Mailing lists</h2> | ||||
| 
 | ||||
| <p>There are a lot of mailing lists on Python. Some of the more interesting | ||||
| ones are:</p> | ||||
| <ul> | ||||
| <li><a href="mailto:python-help@python.org">python-help@python.org</a> where | ||||
| you can send questions for individual support. Please check the websites mentioned | ||||
| above first, though!</li> | ||||
| <li>The <a href="news:comp.lang.python">comp.lang.python</a> newsgroup for general | ||||
| discussion. Also available as a  | ||||
| <a href="http://www.python.org/mailman/listinfo/python-list">mailing list</a>.</li> | ||||
| <li>The <a href="news:comp.lang.python.announce">comp.lang.python.announce</a>  | ||||
| newsgroup for announcements. Low-volume and moderated. Also available as a  | ||||
| <a href="http://www.python.org/mailman/listinfo/python-announce-list">mailing list</a>.</li> | ||||
| <li>Last but not least, the <a href="http://www.python.org/sigs/pythonmac-sig/">pythonmac-sig</a> | ||||
| mailing list is specifically for MacPython. Discussions on the implementation of new | ||||
| features, but beginners questions are welcome too.</li> | ||||
| </ul> | ||||
| 
 | ||||
| <p>In addition there are Python <a href="http://www.python.org/sigs/">Special Interest Group</a> | ||||
| mailing lists on a wide variety of topics such as image processing, numerical algorithms | ||||
| and more.</p> | ||||
| 
 | ||||
| <h2>More</h2> | ||||
| 
 | ||||
| <p>An index of conferences, Wiki's, bookshops and more can be found at the | ||||
| <a href="http://www.python.org/psa/">Community</a> section of the Python website.</p> | ||||
| 
 | ||||
| <p>If you find a bug you are kindly requested to report it, preferrably through the | ||||
| automatic bug tracker at <a href="http://www.python.org">www.python.org</a></p> | ||||
| 
 | ||||
| <p>If you want to become an active developer you are very welcome! Join the | ||||
| pythonmac-sig mailing list mentioned above, and read the | ||||
| <a href="http://www.python.org/dev/">Developer</a> section on the Python website.</p> | ||||
| 
 | ||||
| </body> | ||||
| </html> | ||||
|  | @ -1,21 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>Python Language Documentation</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| </head> | ||||
| <body> | ||||
| <h1>Python Language and runtime documentation</h1> | ||||
| 
 | ||||
| <p>This volume of documentation is rather big (17 Megabytes) and contains | ||||
| a tutorial, full description of the Python library (all the modules | ||||
| and packages included), formal description of the language and more.</p> | ||||
| 
 | ||||
| <p>You can <a href="http://www.python.org/doc">view it online</a>, where | ||||
| you can also download PDFs for printing, or you can download and install it | ||||
| through the <a href="../packman.html">Package Manager</a> for viewing and | ||||
| searching via Apple Help Viewer.</p> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -1,36 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>Python and the Finder</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| </head> | ||||
| <body> | ||||
| <h1>Running Python scripts from the Finder</h1> | ||||
| 		<table> | ||||
| 		<tr> | ||||
| 			<td> | ||||
| 				<img src="python.gif" width="128" height="128" align="top" alt=""> | ||||
| 			</td> | ||||
| 			<td> | ||||
| 				<p>The application PythonLauncher will start a Python interpreter | ||||
| 				when you drop a Python source file onto it, any file with a <tt>.py</tt> | ||||
| 				or <tt>.pyw</tt> extension. If you set PythonLauncher as the default | ||||
| 				application to open a file | ||||
| (<a href="help:search=Changing%20the%20application%20that%20opens%20a%20file bookID=Mac%20Help"> | ||||
| tell me more</a>) this also works when you double click a Python script.</p> | ||||
| 
 | ||||
| 				<p>PythonLauncher has preferences per filetype for selecting | ||||
| 				the interpreter to use, and how to launch it: in a Terminal window | ||||
| 				or not, etc. Holding the Option key while launching your script will | ||||
| 				bring up a window that allows changing these settings for a single | ||||
| 				run. </p> | ||||
| 			</td> | ||||
| 		</tr> | ||||
| 		</table> | ||||
| 		<hr> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -1,54 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>Creating a User Interface with MacPython</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| </head> | ||||
| <body> | ||||
| <h1>Creating a User Interface with MacPython</h1> | ||||
| 
 | ||||
| <p>There are a number of packages that allow creation of a user interface | ||||
| for your Python code, each of which has its own merits:</p> | ||||
| 
 | ||||
| <ul> | ||||
| 	<li> The Carbon package gives low-level access to the old Macintosh toolbox | ||||
| 	calls for windows, events, dialogs and more. The <tt>FrameWork</tt> module | ||||
| 	wraps these in a minimal framework. For documentation see the Macintosh | ||||
| 	Library section of the <a href="doc/index.html">Python Language and runtime  | ||||
| 	documentation</a> and the Human Interface Toolbox section of  | ||||
| 	<a href="help:openbook=Carbon">Apple's Carbon Documentation</a>.  | ||||
| 	This solution is compatible with MacPython-OS9.</li> | ||||
| 	<li> The <tt>W</tt> framework is built on top of this, and easier to use. | ||||
| 	The MacPython IDE uses W. Some documentation is available on  | ||||
| 	<a href="http://www.nevada.edu/~cwebster/Python/index.html">Corran Webster's website</a>. | ||||
| 	Compatible with MacPython-OS9.</li> | ||||
| </ul> | ||||
| 
 | ||||
| <p>For new work, however, one of the following packages may be better suited. | ||||
| They may be available out of the box in this distribution, otherwise you | ||||
| can install them through the <a href="packman.html">Package Manager</a>:</p> | ||||
| 
 | ||||
| <ul> | ||||
| 	<li> <a href="http://pyobjc.sourceforge.net/">PyObjC</a> allows complete access to Cocoa.  | ||||
| 	In technical terms it is a | ||||
| 	bidirectional bridge between Python and Objectve-C, similar to Apple's Java | ||||
| 	bridge. Probably the best choice for Mac OS X-only applications, but at the | ||||
| 	time of this writing PyObjC is still in beta.</li> | ||||
| 	 | ||||
| 	<li> <a href="http://wxpython.sourceforge.net/">wxPython</a> gives Python programs | ||||
| 	access to the wxWindows  GUI toolkit. Many people consider this | ||||
| 	the best open source cross-platform GUI solution available today.</li> | ||||
| 	 | ||||
| 	<li> Tkinter is the oldest cross-platform GUI toolkit for Python, bridging Python | ||||
| 	to Tcl/Tk. If you install AquaTk it creates a native user interface on Mac OS X. | ||||
| 	Documented in the Library section, Tkinter subsection of the  | ||||
| 	<a href="doc/index.html">Python Language and runtime documentation</a>. Tkinter | ||||
| 	is not available for MacPython-OS9.</li> | ||||
| </ul> | ||||
| 				 | ||||
| </body> | ||||
| </html> | ||||
| Before Width: | Height: | Size: 10 KiB | 
| Before Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 15 KiB | 
|  | @ -1,222 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<title>One Day of MacPython IDE Toying</title> | ||||
| 	<link rel="SHORTCUT ICON" href="../pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="../pythonsmall.gif"> | ||||
| </head> | ||||
| <body bgcolor="#ffffff"> | ||||
| 		<h1>One Day of MacPython IDE Toying</h1> | ||||
| 		<table> | ||||
| 		<tr> | ||||
| 			<td> | ||||
| 				<img src="IDE.gif" alt=""> | ||||
| 			</td> | ||||
| 			<td> | ||||
| 				<p>This document gives a very basic introduction to the | ||||
| 				MacPython <b>I</b>ntegrated <b>D</b>evelopment <b>E</b>nvironment (IDE) on Mac OS. It was | ||||
| 				written specifically for MacPython 2.3 on Mac OS X, but most of | ||||
| 				it  is applicable to MacPython-OS9 too. It is based on  | ||||
| 				<a href="http://www-hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/">"One | ||||
| 				Day of IDLE Toying"</a> by Danny Yoo, which you should read if | ||||
| 				you want to use the cross-platform IDLE Python development | ||||
| 				environment.</p> | ||||
| 	 | ||||
| 			</td> | ||||
| 		</tr> | ||||
| 		</table> | ||||
| 		<hr> | ||||
| 		<br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>Ok, let's assume that we've already installed Python. (If not, we can | ||||
| visit: <a href="http://www.cwi.nl/~jack/macpython.html">http://www.cwi.nl/~jack/macpython.html</a> | ||||
| or <a href="http://python.org">http://python.org</a> | ||||
| and download the most recent Python interpreter. Get the Mac OSX binary | ||||
| installer.) The first thing we'd like to do is actually start running it! | ||||
| We can do this by opening up the IDE, which should be in Applications | ||||
| under the newly-created MacPython program folder: </p><p><img | ||||
| src="loading_ide.gif" border=1 alt="image of IDE icon"></p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>The IDE starts up and shows an interactive window: </p> | ||||
| <p><img src="new_ide_window.gif" alt="image of new window"></p> | ||||
| 
 | ||||
| <p>If the window does not show up (because you have run the IDE before | ||||
| and closed it: it remembers that between runs) open it with the <tt>Windows->Python Interactive</tt> | ||||
| menu entry. </p> | ||||
| 
 | ||||
| <p>This is the interactive window to the IDE, it allows us to enter | ||||
| commands directly into Python, and as soon as we enter a command, | ||||
| Python will execute it and spit its result back to us.  We'll be | ||||
| using this interactive window a lot when we're exploring Python: it's | ||||
| very nice because we get back our results immediately.  If it helps, | ||||
| we can think of it as a very powerful calculator.</p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>Let's try something now!  As per tradition, let's get Python to say | ||||
| the immortal words, "Hello World".  <img src="hello_world.gif" | ||||
| border=1 alt="image of hello world program"></p> <p>Those '<tt>>>></tt>' signs act as a prompt | ||||
| for us: Python is ready to read in a new command by giving us that | ||||
| visual cue.  Also, we notice that as we enter commands, Python will | ||||
| give us its output immediately. | ||||
| </p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>Ok, this seems pretty simple enough.  Let's try a few more | ||||
| commands.  If we look below:</p> | ||||
| 
 | ||||
| <p><img src="simple_commands.gif" border=1 alt="image of command window"></p> | ||||
| 
 | ||||
| <p>we'll see the result of running a few more commands.  Don't worry | ||||
| too much about knowing the exact rules for making programs yet: the | ||||
| idea is that we can experiment with Python by typing in commands.  If | ||||
| things don't work, then we can correct the mistake, and try it | ||||
| again.</p> | ||||
| 
 | ||||
| <p>If you got to this point, you now know enough to start playing | ||||
| around with Python!  Crack open one of the tutorials from the <a | ||||
| href="http://python.org/doc/Newbies.html">Python For Beginners</a> web | ||||
| page, and start exploring with the interpreter.  No time limit here.  *grin*</p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>Now that we've paddled long enough, we might be asking: ok, this is | ||||
| neat, but if we close down Python and start it up again, how do we get | ||||
| the computer to remember what we typed?</p> | ||||
| 
 | ||||
| <p>The solution is a little subtle: we can't directly save what's in | ||||
| the interpreter window, because it will include both our commands and | ||||
| the system's responses.  What we'd like is to make a prepared file, | ||||
| with just our own commands, and to be able to save that file as a | ||||
| document.  When we're in the mood, we can later open that file and | ||||
| "run" Python over it, saving us the time of retyping the whole | ||||
| thing over again.</p> | ||||
| 
 | ||||
| <p>Let's try this.  First, let's start with a clean slate by opening | ||||
| up a new window.</p>  | ||||
| 
 | ||||
| <p><img src="making_new_window.gif" border=1 alt="image of making new window"></p> | ||||
| 
 | ||||
| <p>Here's the result of that menu command:</p> | ||||
| 
 | ||||
| <p><img src="new_window_made.gif" border=1 alt="image of new window"></p> | ||||
| 
 | ||||
| <p>We notice that there's nothing in this new window.  What this means | ||||
| is that this file is purely for our commands: Python won't interject | ||||
| with its own responses as we enter the program, that is, not until we | ||||
| tell it to.  This is called an edit window, and it is very similar | ||||
| to edit windows in other editors such as TextEdit or BBEdit.</p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>What we wanted to do before was save some of the stuff we had | ||||
| tried out on the interpreter window.  Let's do that by typing (or | ||||
| copy/pasting) those commands into our edit window.</p> | ||||
| <p><img src="entering_in_new_window.gif" border=1 alt="image of entering commands"></p> | ||||
| 
 | ||||
| <p>Ok, we're done with copying and pasting.   | ||||
| One big thing to notice | ||||
| is that we're careful to get rid of the "<tt>>>></tt>" | ||||
| prompts because they're not really part of our program.  The | ||||
| interpreter uses them just to tell us that we're in the interpreter, | ||||
| but now that we're editing in a separate file, we can remove the | ||||
| artifacts that the interpreter introduces. | ||||
| I have added | ||||
| an extra empty print statement so our output ends with a newline. | ||||
| </p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>Let's save the file now.  The Save command is located under the <tt>File</tt> menu:</p> | ||||
| <p><img src="saving_edited_file.gif" border=1 alt="image of saving file"></p> | ||||
| 
 | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>Now that we've saved the program, how do we run the program? Use the | ||||
| Run All button at the top of the editing window, or the equivalent | ||||
| menu command <tt>Python->Run Window</tt>. The output will appear in a new | ||||
| window called Output Window. </p> | ||||
| 
 | ||||
| <p>By the way, one thing to notice is that I made a typo: I didn't | ||||
| quite copy exactly what I had entered in the interpreter window | ||||
| before.  Does this affect things?</p> | ||||
| 
 | ||||
| <p><img src="syntax_error.gif" border=1 alt="image of syntax error"></p> | ||||
| 
 | ||||
| <p>Ooops.  Here is an example of what Python calls a "syntax error". | ||||
| Python sees that we made a typo, and warns us to take a much closer | ||||
| look at our program.  The designers of Python feel that having the | ||||
| system point out the error is better than trying to guess at what the | ||||
| programmer meant.  Press the Edit button and you will be brought to | ||||
| the trouble spot. </p> | ||||
| 
 | ||||
| <p>Python is often perceptive enough to direct us toward the problem, | ||||
| and in this case, it's telling us that we forgot to put something at | ||||
| the end of this line.  In this case, we need to add a | ||||
| quotation mark at the end.  Let's add that in now.</p> | ||||
| 
 | ||||
| <p>Other errors, which usually occur later, when your program has | ||||
| already done something, result in a different dialog that allows you | ||||
| to look at variables and such in addition to showing you where | ||||
| the error occurred. </p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>Ok, let's say that we fixed that silly typo.  Let's try to run the | ||||
| program again. This gives us a new window, the Output window, showing | ||||
| the output of our program:</p> | ||||
| <p><img src="output_window.gif" border=1 alt="image of output window"></p> | ||||
| 
 | ||||
| <hr><br style="page-break-after: always"> | ||||
| 
 | ||||
| <p>As we play with Python, we'll find ourselves "switching modes" | ||||
| between the Interpreter window and the edit window.  However, | ||||
| if we try anything more complicated than two or three lines it | ||||
| is often a good idea to work in an edit window. Align | ||||
| your edit and output window such that you can see them at the same time.</p> | ||||
| 
 | ||||
| <p>This is pretty much all we need to know about the MacPython IDE to actually do | ||||
| interesting things.  There is a lot more to the IDE, here is a quick | ||||
| breakdown of things to see and explore:</p> | ||||
| 
 | ||||
| <ul> | ||||
| 	<li>All sorts of edit commands such as find and replace can be | ||||
| 	used in the editor windows. See the <tt>Edit</tt> menu.</li> | ||||
| 	 | ||||
| 	<li>The bottom of the edit window has the scrollbar, but at the | ||||
| 	left are two navigation devices: a line number box that you can type | ||||
| 	numbers into to quickly go to a specific place, and a popup menu | ||||
| 	that lists all classes, functions and methods in your file.</li> | ||||
| 	 | ||||
| 	<li>Above the vertical scrollbar you find another popup menu, this | ||||
| 	influences how the Run command works. You should try the debugger | ||||
| 	some time! If you do, and you wonder what the new small column on | ||||
| 	the left of your script is: you can click in it to make Python stop | ||||
| 	when it reaches this line so you can inspect things. The profiler | ||||
| 	is also nifty: it shows you where your program is spending its time.</li> | ||||
| 	 | ||||
| 	<li>The module browser (<tt>Python->Module Browser</tt>) shows you all Python | ||||
| 	modules currently loaded. You can look at the contents of the module with | ||||
| 	Browse... and (for modules written in Python) at the source with Source...</li> | ||||
| 	 | ||||
| 	<li>The Package Manager (under the <tt>File</tt> menu, also available as a | ||||
| 	separate application) allows you to easily install Python extension packages | ||||
| 	for all sorts of things: scientific computation, image processing, | ||||
| 	building user interfaces and more. </li> | ||||
| 	 | ||||
| 	<li>The <tt>Help</tt> menu gives you quick access to both the Python documentation, | ||||
| 	if you have installed it with the Package Manager, and the Apple Developer | ||||
| 	documentation. </li> | ||||
| 	 | ||||
| 	<li>The <tt>File->Save as Applet</tt> menu command saves your script as a MacOSX | ||||
| 	application. This allows you to create a script that you can drop files on, | ||||
| 	and much more. The IDE itself is such an applet, completely written in Python. </li> | ||||
| 	 | ||||
| </ul> | ||||
| </body> | ||||
| </html> | ||||
| Before Width: | Height: | Size: 49 KiB | 
| Before Width: | Height: | Size: 25 KiB | 
| Before Width: | Height: | Size: 20 KiB | 
| Before Width: | Height: | Size: 21 KiB | 
| Before Width: | Height: | Size: 37 KiB | 
| Before Width: | Height: | Size: 26 KiB | 
| Before Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 12 KiB | 
|  | @ -1,51 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>MacPython Help</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| 	<META NAME="AppleTitle" CONTENT="MacPython Help"> | ||||
| </head> | ||||
| <body> | ||||
| 
 | ||||
| <h1>MacPython Help</h1> | ||||
| 		<table> | ||||
| 		<tr> | ||||
| 			<td> | ||||
| 				<img src="python.gif" width="128" height="128" align="top" alt=""> | ||||
| 			</td> | ||||
| 			<td> | ||||
| <p>Choose a topic, or enter keywords into the search field:</p> | ||||
| <ul> | ||||
| 	<li><a href="intro.html">What is MacPython?</a> | ||||
| 	</li> | ||||
| 	<li><a href="ide/index.html">MacPython  | ||||
| 	Integrated Development Environment Introduction</a> | ||||
| 	</li> | ||||
| 	<li><a href="doc/index.html">Python Language and runtime documentation</a> | ||||
| 	</li> | ||||
| 	<li><a href="finder.html">Running Python scripts from the Finder</a> | ||||
| 	</li> | ||||
| 	<li><a href="shell.html">Running Python scripts from the Unix Shell</a> | ||||
| 	</li> | ||||
| 	<li><a href="gui.html">Creating a User Interface with MacPython</a> | ||||
| 	</li> | ||||
| 	<li><a href="scripting.html">Controlling other Applications from MacPython</a> | ||||
| 	</li> | ||||
| 	<li><a href="packman.html">Installing additional functionality with the | ||||
| 	Package Manager</a> | ||||
| 	</li> | ||||
| 	<li><a href="community.html">MacPython community</a> | ||||
| 	</li> | ||||
| </ul> | ||||
| 	 | ||||
| 			</td> | ||||
| 		</tr> | ||||
| 		</table> | ||||
| 		<hr> | ||||
| 
 | ||||
| </body> | ||||
| </html> | ||||
|  | @ -1,76 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>What is MacPython?</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| </head> | ||||
| <body> | ||||
| <h1>What is MacPython?</h1> | ||||
| 		<table> | ||||
| 		<tr> | ||||
| 			<td> | ||||
| 				<img src="python.gif" width="128" height="128" align="top" alt=""> | ||||
| 			</td> | ||||
| 			<td> | ||||
| <p>Python is a programming language. MacPython is a package containing | ||||
| that programming language plus Mac-specific tools and extensions.</p> | ||||
| 	 | ||||
| 			</td> | ||||
| 		</tr> | ||||
| 		</table> | ||||
| 		<hr> | ||||
| 
 | ||||
| <h2>The Python Language</h2> | ||||
| <p>The Python programming language is available for many hardware | ||||
| platforms, and most general documentation is Unix- or Windows-centered. Keep | ||||
| this in mind when reading the rest of this help, or information on the web. | ||||
| </p> | ||||
| 
 | ||||
| <p>The Python website, <a href="http://www.python.org">www.python.org</a>, | ||||
| has a <em>Beginners Guide</em> section including an  | ||||
| <a href="http://python.org/doc/essays/blurb.html">executive summary</a> on | ||||
| the language and a  | ||||
| <a href="http://python.org/doc/essays/comparisons.html">comparison</a> of Python | ||||
| to other languages. Or read the (rather longwinded) Python | ||||
| Tutorial in the <a href="doc/index.html">Python Language and runtime documentation</a>.</p> | ||||
| 
 | ||||
| <p>MacPython contains a complete <a href="shell.html">unix interpreter</a> so | ||||
| if you are familiar with Python on unix you should feel right at home.</p> | ||||
| 
 | ||||
| <h2>MacPython additions</h2> | ||||
| 
 | ||||
| <p>The MacPython Integrated Development Environment (IDE) allows | ||||
| easy editing, running and debugging of scripts. Read the  | ||||
| <a href="ide/index.html">Introduction | ||||
| to the IDE</a> to whet your appetite.</p> | ||||
| 
 | ||||
| <p>MacPython comes with lots of modules that allow access to  | ||||
| MacOS-specific technology, such as Carbon, Quicktime and AppleScript.  | ||||
| See the <em>Macintosh | ||||
| Modules</em> section of the | ||||
| <a href="doc/index.html">Python Language and runtime documentation</a>, | ||||
| but please keep in mind that some information there still pertains to | ||||
| Mac OS 9. | ||||
| 
 | ||||
| Full access to the Cocoa APIs | ||||
| and tools such as Interface Builder is available separately through the | ||||
| <a href="packman.html">Package Manager</a>.</p> | ||||
| 
 | ||||
| <p>The <a href="packman.html">Package Manager</a> also gives you access to extension | ||||
| packages for cross-platform GUI development (Tkinter, wxPython, PyOpenGL),  | ||||
| image processing (PIL), scientific | ||||
| computing (Numeric) and much more. <em>PyObjC</em> deserves a special mention: it allows | ||||
| transparent access to Cocoa and Interface Builder, similar to what Java provides, | ||||
| thereby making Python a first class citizen in the Mac OS X developer world. </p> | ||||
| 
 | ||||
| <p>Python scripts can be saved as <em>applets</em>, semi-standalone applications | ||||
| that work just like a normal application. Additionally you can even create | ||||
| true standalone application that have everything embedded and can be | ||||
| shipped to anyone, without the need to install Python. You do <em>not</em> | ||||
| need to install the Apple Developer Tools for this. </p> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -1,64 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>Python Package Manager</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| </head> | ||||
| <body> | ||||
| <h1>Installing additional Python Packages</h1> | ||||
| 		<table> | ||||
| 		<tr> | ||||
| 			<td> | ||||
| 				<img src="PackageManager.gif" width="128" height="128" align="top" alt=""> | ||||
| 			</td> | ||||
| 			<td> | ||||
| 				<p>The Python Package Manager helps you installing additional | ||||
| 				packages that enhance Python. It determines the exact MacOS version | ||||
| 				and Python version you have and uses that information to download | ||||
| 				a database that has packages that are test and tried on that | ||||
| 				combination. In other words: if something is in your Package Manager | ||||
| 				window but does not work you are free to blame the database maintainer.</p> | ||||
| 				 | ||||
| 				<p>PackageManager then checks which of the packages you have installed | ||||
| 				and which ones not. This should also work when you have installed packages | ||||
| 				outside of PackageManager. | ||||
| 				You can select packages and install them, and PackageManager will work  | ||||
| 				out the requirements and install these too.</p> | ||||
| 				 | ||||
| 				<p>Often PackageManager will list a package in two flavors: binary | ||||
| 				and source. Binary should always work, source will only work if | ||||
| 				you have installed the Apple Developer Tools. PackageManager will warn | ||||
| 				you about this, and also about other external dependencies.</p> | ||||
| 				 | ||||
| 				<p>PackageManager is available as a separate application and also | ||||
| 				as a function of the IDE, through the <tt>File->Package Manager</tt> menu | ||||
| 				entry. </p> | ||||
| 				 | ||||
| 				<h2>Troubleshooting</h2> | ||||
| 				 | ||||
| 				<p>If package manager fails to open the database first check that you are | ||||
| 				connected to the internet. If you are connected then the problem | ||||
| 				could be that there is no database (yet?) for your version of Mac OS X. | ||||
| 				You may be able to find an alternative | ||||
| 				database that works for your system at | ||||
| 				<a href="http://www.python.org/packman">http://www.python.org/packman</a>. | ||||
| 				In the standalone Package Manager you can then open such an alternative database | ||||
| 				with the <tt>File->Open URL...</tt> command, but you should realize that | ||||
| 				you are now on untested ground.</p> | ||||
| 				 | ||||
| 				<p>Another potential problem source is that you are behind a firewall. This version | ||||
| 				of PackageManager uses the Unix method of setting a firewall: you need to set the | ||||
| 				environment variable <tt>http_proxy</tt> to <tt>"http://<i>proxyhost</i>:<i>port</i>"</tt>. | ||||
| 				See <a href="http://developer.apple.com/qa/qa2001/qa1067.html">Apple Technical | ||||
| 				Q&A QA1067</a> for instructions.</p> | ||||
| 				 | ||||
| 			</td> | ||||
| 		</tr> | ||||
| 		</table> | ||||
| 		<hr> | ||||
| </body> | ||||
| </html> | ||||
| Before Width: | Height: | Size: 6.2 KiB | 
| Before Width: | Height: | Size: 138 B | 
|  | @ -1,53 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>Controlling other Applications from MacPython</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| </head> | ||||
| <body> | ||||
| <h1>Controlling other Applications from MacPython</h1> | ||||
| 
 | ||||
| <p>Python has a fairly complete implementation of the Open Scripting | ||||
| Architecure (OSA, also commonly referred to as AppleScript), allowing | ||||
| you to control scriptable applications from your Python program, | ||||
| and with a fairly pythonic interface. This piece of | ||||
| Python:</p> | ||||
| 	 | ||||
| <blockquote><pre><tt> | ||||
| import Finder | ||||
| 
 | ||||
| f = Finder.Finder() | ||||
| print f.get(f.window(1).name) | ||||
| </tt></pre></blockquote> | ||||
| 
 | ||||
| <p>is identical to the following piece of AppleScript:</p> | ||||
| 
 | ||||
| <blockquote><pre><tt> | ||||
| tell application "Finder" | ||||
| 	get name of window 1 | ||||
| end tell | ||||
| </tt></pre></blockquote> | ||||
| 
 | ||||
| <p>To send AppleEvents to an application you must first create the Python | ||||
| modules interfacing to the terminology of the application (what | ||||
| <tt>Script Editor</tt> calls the "Dictionary"). Use the IDE menu command | ||||
| <tt>File->Generate OSA Suite...</tt> for this. For more control run</p> | ||||
| 
 | ||||
| <blockquote><tt> | ||||
| pythonw .../Lib/plat-mac/gensuitemodule.py --help | ||||
| </tt></blockquote> | ||||
| 
 | ||||
| <p>from a terminal window.</p> | ||||
| 
 | ||||
| <h2>Creating a scriptable application in Python</h2> | ||||
| 
 | ||||
| You can also create a scriptable application in Python, but this is not | ||||
| very well documented. For Carbon | ||||
| applications you should look at the <tt>MiniAEFrame</tt> module. | ||||
| 
 | ||||
| </body> | ||||
| </html> | ||||
|  | @ -1,52 +0,0 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | ||||
|         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> | ||||
| 	<title>Python and the Unix Shell</title> | ||||
| 	<meta name="generator" content="BBEdit 6.5.3"> | ||||
| 	<link rel="SHORTCUT ICON" href="pythonsmall.gif"> | ||||
| 	<META NAME="AppleIcon" CONTENT="pythonsmall.gif"> | ||||
| </head> | ||||
| <body> | ||||
| <h1>Running Python scripts from the Unix Shell</h1> | ||||
| 		<table> | ||||
| 		<tr> | ||||
| 			<td> | ||||
| 				<img src="python.gif" width="128" height="128" align="top" alt=""> | ||||
| 			</td> | ||||
| 			<td> | ||||
| 				<p>MacPython 2.3 installs a perfectly normal Unix commandline | ||||
| 				python interpreter in <tt>/usr/local/bin/python</tt>. As of Mac OS X 10.2, however, | ||||
| 				<tt>/usr/local/bin</tt> is not on the search path of your shell. Moreover, | ||||
| 				Apple's python 2.2, which lives in <tt>/usr/bin</tt> <em>is</em> on your | ||||
| 				search path, so this can lead to confusion.</p> | ||||
| 				 | ||||
| 				<p>If you use <tt>tcsh</tt> you should add the following line | ||||
| 				to the file <tt>.login</tt> in your home directory and restart Terminal: | ||||
| 				<br> | ||||
| 				<tt>setenv PATH /usr/local/bin:$PATH</tt> | ||||
| 				</p> | ||||
| 				 | ||||
| 				<p>If you use <tt>bash</tt> or <tt>zsh</tt> | ||||
| 				you should add the following line | ||||
| 				to the file <tt>.profile</tt> in your home directory and restart Terminal: | ||||
| 				<br> | ||||
| 				<tt>export PATH=/usr/local/bin:$PATH</tt> | ||||
| 				</p> | ||||
| 				 | ||||
| 				<h2>GUI scripts</h2> | ||||
| 				 | ||||
| 				<p>Due to the way MacOS handles windowing applications you need to run  | ||||
| 				<em>all</em> scripts that use the window manager (be it through | ||||
| 				Carbon, Cocoa, Tkinter, wxPython, PyOpenGL or anything else) with the | ||||
| 				<tt>pythonw</tt> interpreter, also installed in <tt>/usr/local/bin</tt>.</p> | ||||
| 				 | ||||
| 				<p>Running with <tt>python</tt> results in an inability to bring the | ||||
| 				script to the front, or interacting with it. </p> | ||||
| 			</td> | ||||
| 		</tr> | ||||
| 		</table> | ||||
| 		<hr> | ||||
| </body> | ||||
| </html> | ||||
 Ronald Oussoren
						Ronald Oussoren