| 
									
										
										
										
											1997-01-15 16:53:37 +00:00
										 |  |  | <HTML> | 
					
						
							|  |  |  | <HEAD> | 
					
						
							|  |  |  | <TITLE>Embedding Python on the Mac</TITLE> | 
					
						
							|  |  |  | </HEAD> | 
					
						
							|  |  |  | <BODY> | 
					
						
							|  |  |  | <H1>Embedding Python on the Mac</H1> | 
					
						
							|  |  |  | <HR> | 
					
						
							| 
									
										
										
										
											1998-01-06 16:50:44 +00: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 16:53:37 +00: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 14:08:22 +00: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 16:53:37 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | </BODY> | 
					
						
							|  |  |  | </HTML> |