[Zope-CVS] CVS: PythonNet/doc - FAQ.txt:1.2
Brian Lloyd
brian@zope.com
Mon, 17 Feb 2003 23:06:03 -0500
Update of /cvs-repository/PythonNet/doc
In directory cvs.zope.org:/tmp/cvs-serv8301/doc
Modified Files:
FAQ.txt
Log Message:
Finish up bare-bones FAQ.
=== PythonNet/doc/FAQ.txt 1.1 => 1.2 ===
--- PythonNet/doc/FAQ.txt:1.1 Mon Feb 17 22:44:35 2003
+++ PythonNet/doc/FAQ.txt Mon Feb 17 23:06:02 2003
@@ -21,6 +21,9 @@
A copy of the ZPL is included in the distribution, or you can find the
ZPL online at: http://www.zope.org/Products/Zope/LICENSE_20.txt.
+ Ready-to-run distributions of this package include a copy of the CPython
+ dlls and standard library, which are covered by the Python license.
+
**What is the current status of the package?**
@@ -73,7 +76,8 @@
Is This Related To ActiveState's Python.NET Work?
No. That effort focused on the feasibility of making Python a true .NET
- language (compiling Python to IL).
+ language (compiling Python to IL). You can find that work as well as a
+ paper describing the goals and results at http://www.activestate.com.
**How do I install the package?**
@@ -82,7 +86,7 @@
http://www.zope.com/Members/Brian/PythonForDotNet/snapshot.zip
The release snapshot is a self-contained "private" assembly. Just unzip
- the package whereever you want it, cd to that directory and run
+ the package wherever you want it, cd to that directory and run
python.exe to start using it.
@@ -219,19 +223,41 @@
**Deriving From .NET Classes**
- xxx
+ This is nearly, but not quite working. It's actually only working
+ enough to start working on unit tests :) The architecture is designed
+ to allow for single-inheritance from managed types.
+
**Using COM Components**
- xxx
+ You can use the (MS-provided) aximp and tlbimp tools to generate
+ managed wrappers for COM libraries. After generating the wrapper,
+ you can use the libraries from Python just like any other managed
+ code.
+
+ Note: currently you need to put the generated wrappers in the GAC
+ or in the PS.NET assembly directory in order to load it. Future
+ versions will likely come up with some way of extending the load
+ path (something like a sys.path for managed assemblies).
+
**Type Conversion**
- xxx
+ Need to document type conversion here. The short answer is: most
+ simple Python types (string, int, long, etc.) convert automatically
+ to managed equivalents (String, Int32, etc.). Types that do not have
+ a logical equivalent in Python are instances of managed types.
+
+ Note that all strings returned from CLR methods, properties, etc.
+ are returned as unicode.
+
**Security**
- xxx
+ Because Python code is inherently unverifiable, Python code runs
+ totally under the radar of the security infrastructure of the CLR.
+ It hasn't been decided yet exactly what permissions the PS.NET
+ assembly will demand to run, but it will
**Does it support embedding?**
@@ -253,6 +279,18 @@
I haven't tried building it under Mono - the last time I looked the
Mono class libraries were still missing some required parts.
+
+ **Does it work with Zope?**
+
+ Yes, but PS.NET is based on Python 2.2, so you'll need to build a
+ Zope from source against Python 2.2. After that, change the z2.py
+ (or rather the start.bat file on windows) to point to the python.exe
+ in the managed assembly.
+
+ Note that the CLR is free-threaded, and I haven't worked out all of
+ the thread choreography yet, so you should avoid managed code with
+ threading concerns (especially COM wrappers) until things are a
+ little more mature.
**How can I report bugs?**