diff --git a/Mac/Demo/index.html b/Mac/Demo/index.html index 9ef4ebda51d..fda20b7aca0 100644 --- a/Mac/Demo/index.html +++ b/Mac/Demo/index.html @@ -9,6 +9,10 @@
+There is a companion document Using Python on the Mac +which you should read before starting here: it explains the basics of using +python on the Macintosh.
+
Another set of Macintosh-savvy examples, more aimed at beginners, is
maintained by Joseph Strout, at
@@ -91,4 +95,4 @@ Table of contents
Jack Jansen,
-jack@cwi.nl, 6-Mar-1996.
+jack@cwi.nl, 7-Apr-1996.
diff --git a/Mac/Demo/using.html b/Mac/Demo/using.html
new file mode 100644
index 00000000000..872bb9e99f8
--- /dev/null
+++ b/Mac/Demo/using.html
@@ -0,0 +1,279 @@
+
+
+ +The document refers to Python 1.3.3 or higher, some of the features (like +setting applet options) will not work in earlier versions of Python.
+ +
Python
, PythonPPC
(for powerpc macs) or
+Python68K
(indeed, for 68K macs). It will always be recognizable by
+the "16 ton" icon, though. You start the interpreter in interactive mode by
+double-clicking it. + +
+ +This should give you a text window with an informative version string and a prompt, +something like the following: +
+Python 1.3.3 (Apr 7 1996) [CW PPC w/GUSI] +Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam +>>> ++The version string tells you the version of Python, whether it was built for +PPC or 68K macs and possibly some options used to build the interpreter. If +you find a bug or have a question about how the interpreter works it is a good +idea to include the version information in your message.
+ +At the prompt you can type interactive python commands. See the tutorial for +more information. The interactive window works more-or-less like a Communication +Toolbox or Telnet window: you type commands at the bottom and terminate them with +the [return] or [enter] key. Interpreter feedback also appears +at the bottom of the window, and the contents scroll as output is added. You can +use copy and paste in the normal way, but be sure to paste only at the bottom +of the document. + +
SimpleText
.
+
+For more serious scripts, though, it is advisable to use a programmers editor,
+such as BBEdit
or Alpha
. BBEdit is my favorite: it comes in a
+commercial version but also in a fully-functional free version
+BBEdit Lite
. You can download it from the
+BareBones site.
+The free version will probably provide all the functionality you will ever need.
+Besides the standard edit facilities it has multi-file searches and many other
+goodies that can be very handy when editing programs.
+ +After you have created your script in the editor of your choice you drop it on +the interpreter. This will start the interpreter executing the script, again with +a console window in which the output appears and in which you can type input if +the script requires it. Normally the interpreter will close the window and quit +as soon as the script is done executing, see below under +startup options +for a way to change this.
+
+It is a good idea to have the names of all your scripts end in .py
. While
+this is not necessary for standalone scripts it is needed for modules, and it is
+probably a good idea to start the habit now.
+ +
'Pyth'
+and type 'TEXT'
, you can double-click your script and it will automatically
+invoke the interpreter. If you use BBEdit you can tell it about the Python file
+type by adding it to the "file types" sections of the preferences. Then, if you save
+a file for the first time you can tell BBEdit to save the file as a Python script
+through the "options" choice of the save dialog.
+
+The Scripts
folder contains a script fixfiletypes
that will
+recursively traverse a folder and set the correct creator and type for all files
+ending in .py
.
+ +
KeyboardInterrupt
+exception. Scripts may, however, turn off this behaviour to facilitate their
+own event handling. Such scripts can only be killed with the command-option-escape
+shortcut.
+
++ +
+ +The options modify the interpreters behaviour in the following way: +
sys.argv
. Sys.argv[0] is always the name of the script being executed,
+additional values can be passed here. Quoting works as expected. + +The default options are also settable on a system-wide basis, see the section on +editing preferences.
+ +
sys.path
, contains the folders python will search
+when you import a module. The path is settable on a system-wide basis (see the
+preferences section), and normally comprises the current folder (where the script
+lives), the Lib
folder and some of its subfolders and possibly some more. + +
PythonStartup
+this file is executed when you start an interactive interpreter. In this file you
+could import modules you often use and other such things. + + +
'Pyth'
and type 'PYC '
load faster
+when imported (because they do not have to be parsed). The Lib
folder
+contains a script compileall.py
, running this script will cause all modules
+along the python search path to be precompiled, which will speed up your programs.
+Compiled files are also double-clickable. + +
+
+If the module search path contains a filename as one of its entries (as opposed to
+a folder name, which is the normal case) this file will be searched for a resource
+with type 'PYC '
and a name matching the module being imported.
+
+The scripts
folder contains a script PackLibDir
which will convert
+a number of modules (or possibly a complete subtree full of modules) into such a
+resource file.
+
+
EditPythonPrefs
. For PPC python this is a standalone program living
+in the main Python folder, for 68K python it is a script in the Scripts
+folder. + +The interface to edit the preferences is rather clunky for the current release.
+ +
+
+In the editable text field at the top you enter the initial module search path,
+using newline as a separator. There are two special values you can use here:
+an initial substring $(PYTHON)
will expand to the Python home folder
+and a value of $(APPLICATION)
will expand to the the python application
+itself. Note that the text field may extend "beyond the bottom" even though it
+does not have a scroll bar. Using the arrow keys works, though.
+ +The Python home folder $(PYTHON) is initially, when you execute the interpreter +for the first time, set to the folder where the interpreter lives. You can change it +here.
+ +Finally, you can set the default startup options here, through a sub-dialog. + +
mkapplet
+program. You create an applet by dropping the python source script onto mkapplet.
+The Demo
folder contains an example of a more involved applet with its
+own resource file, etc.
+
+Note that while an applet behaves as a fullblown Macintosh application it is
+not self-sufficient, so distributing it to a machine without an installed Python
+interpreter will not work: it needs the shared python execution engine
+PythonCore
, and probably various modules from the Lib and PlugIns folders.
+ +
EditPythonPrefs
+application allows you to set
+these, in the same way as double-clicking EditPythonPrefs allows you to set
+the system-wide defaults. + +Actually, not only applets but also the interpreter itself can have non-default +settings for path and options. If you make a copy of the interpreter and drop +this copy onto EditPythonPrefs you will have an interpreter that has a different +set of default settings. + +
+ +There are some annotated sample programs available +that show some mac-specific issues, like use of various toolboxes and creation +of Python applets.
+
+Finally, the Demo
folder in the Macintosh distribution contains
+a number of other example programs. Most of these are only very lightly documented,
+but they may help you to understand some aspects of using Python.
+ +The best way to contact fellow Macintosh Python programmers is to join +the MacPython Special Interest Group mailing list. Send a message with "info" +in the body to pythonmac-sig-request@python.org +or view the Pythonmac SIG page on the +www.python.org WWW server.
+ +
+ +Probably the most common cause of problems with modules ported from other +systems is the Mac end-of-line convention. Where unix uses linefeed, 0x0d, to +separate lines the mac uses carriage return, 0x0a. To complicate matters more +a lot of mac programming editors like BBEdit and emacs will work happily with +both conventions, so the file will appear to be correct in the editor but cause +strange errors when imported. BBEdit has a popup menu which allows you to inspect +(and set) the end-of-line convention used in a file.
+ +