1997-01-15 12:53:37 -04:00
|
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
|
|
<TITLE>Embedding Python on the Mac</TITLE>
|
|
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
|
|
<H1>Embedding Python on the Mac</H1>
|
|
|
|
<HR>
|
1998-01-06 12:50:44 -04:00
|
|
|
<B>Note</B>: if you have a binary-only release of MacPython you will not
|
|
|
|
have this demo installed. Go to
|
|
|
|
<a href="http://www.cwi.nl/~jack/macpython.html">Jack's MacPython Page</a>
|
|
|
|
to download either a source or a development release if you want to embed
|
|
|
|
Python in other applications. <p>
|
1997-01-15 12:53:37 -04:00
|
|
|
|
|
|
|
Embedding Python on the mac is pretty similar to embedding it on other
|
|
|
|
platforms, but a few points need mentioning:
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI> You call <CODE>PyMac_Initialize()</CODE> in stead of
|
|
|
|
<CODE>Py_Initialize()</CODE>. The prototype is in <CODE>macglue.h</CODE>.
|
|
|
|
This call initializes the toolbox, GUSI (if needed), sets up the correct
|
|
|
|
resource files and calls Py_Initialize.
|
|
|
|
|
|
|
|
<LI> You have to be consequent in your use of GUSI. If the library uses
|
|
|
|
it so should your program and vice versa.
|
|
|
|
|
|
|
|
<LI> The console-behaviour (close-on-exit, etc) is controlled by Python,
|
|
|
|
but you are of course free to change that after calling PyMac_Initialize().
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
The Python environment is started with a dummy argc and argv, and initial
|
|
|
|
startup options are obtained through the usual means, except that the
|
|
|
|
user pression the option-key will not result in an interactive dialog.
|
|
|
|
You can, however, set startup options on your program in the same way as you
|
|
|
|
do for applets, by dragging your application to <code>EditPythonPrefs</code>. <p>
|
|
|
|
|
1997-08-27 11:08:22 -03:00
|
|
|
The most logical way to embed Python is to link it against the shared
|
|
|
|
library <code>PythonCore</code>. An example project and source can be
|
|
|
|
found in the <a href="embed">embed</a> folder.
|
1997-01-15 12:53:37 -04:00
|
|
|
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|