Commits

Felix Krull committed 55f3553

Clean up outdated files.

Comments (0)

Files changed (9)

debian/FAQ.html

-<HTML>
-<HEAD>
-<TITLE>The Whole Python FAQ</TITLE>
-</HEAD>
-
-<BODY BACKGROUND="http://www.python.org/pics/RedShort.gif"
-      BGCOLOR="#FFFFFF"
-      TEXT="#000000"
-      LINK="#AA0000"
-      VLINK="#906A6A">
-<H1>The Whole Python FAQ</H1>
-Last changed on Wed Feb 12 21:31:08 2003 CET
-
-<P>(Entries marked with ** were changed within the last 24 hours;
-entries marked with * were changed within the last 7 days.)
-<P>
-
-<P>
-<HR>
-<H2>1. General information and availability</H2>
-<UL>
-<LI><A HREF="#1.1">1.1. What is Python?</A>
-<LI><A HREF="#1.2">1.2. Why is it called Python?</A>
-<LI><A HREF="#1.3">1.3. How do I obtain a copy of the Python source?</A>
-<LI><A HREF="#1.4">1.4. How do I get documentation on Python?</A>
-<LI><A HREF="#1.5">1.5. Are there other ftp sites that mirror the Python distribution?</A>
-<LI><A HREF="#1.6">1.6. Is there a newsgroup or mailing list devoted to Python?</A>
-<LI><A HREF="#1.7">1.7. Is there a WWW page devoted to Python?</A>
-<LI><A HREF="#1.8">1.8. Is the Python documentation available on the WWW?</A>
-<LI><A HREF="#1.9">1.9. Are there any books on Python?</A>
-<LI><A HREF="#1.10">1.10. Are there any published articles about Python that I can reference?</A>
-<LI><A HREF="#1.11">1.11. Are there short introductory papers or talks on Python?</A>
-<LI><A HREF="#1.12">1.12. How does the Python version numbering scheme work?</A>
-<LI><A HREF="#1.13">1.13. How do I get a beta test version of Python?</A>
-<LI><A HREF="#1.14">1.14. Are there copyright restrictions on the use of Python?</A>
-<LI><A HREF="#1.15">1.15. Why was Python created in the first place?</A>
-<LI><A HREF="#1.16">1.16. Do I have to like &quot;Monty Python's Flying Circus&quot;?</A>
-<LI><A HREF="#1.17">1.17. What is Python good for?</A>
-<LI><A HREF="#1.18">1.18. Can I use the FAQ Wizard software to maintain my own FAQ?</A>
-<LI><A HREF="#1.19">1.19. Which editor has good support for editing Python source code?</A>
-<LI><A HREF="#1.20">1.20. I've never programmed before. Is there a Python tutorial?</A>
-<LI><A HREF="#1.21">1.21. Where in the world is www.python.org located?</A>
-
-</UL>
-
-<P>
-<HR>
-<H2>2. Python in the real world</H2>
-<UL>
-<LI><A HREF="#2.1">2.1. How many people are using Python?</A>
-<LI><A HREF="#2.2">2.2. Have any significant projects been done in Python?</A>
-<LI><A HREF="#2.3">2.3. Are there any commercial projects going on using Python?</A>
-<LI><A HREF="#2.4">2.4. How stable is Python?</A>
-<LI><A HREF="#2.5">2.5. What new developments are expected for Python in the future?</A>
-<LI><A HREF="#2.6">2.6. Is it reasonable to propose incompatible changes to Python?</A>
-<LI><A HREF="#2.7">2.7. What is the future of Python?</A>
-<LI><A HREF="#2.8">2.8. What was the PSA, anyway?</A>
-<LI><A HREF="#2.9">2.9. Deleted</A>
-<LI><A HREF="#2.10">2.10. Deleted</A>
-<LI><A HREF="#2.11">2.11. Is Python Y2K (Year 2000) Compliant?</A>
-<LI><A HREF="#2.12">2.12. Is Python a good language in a class for beginning programmers?</A>
-
-</UL>
-
-<P>
-<HR>
-<H2>3. Building Python and Other Known Bugs</H2>
-<UL>
-<LI><A HREF="#3.1">3.1. Is there a test set?</A>
-<LI><A HREF="#3.2">3.2. When running the test set, I get complaints about floating point operations, but when playing with floating point operations I cannot find anything wrong with them.</A>
-<LI><A HREF="#3.3">3.3. Link errors after rerunning the configure script.</A>
-<LI><A HREF="#3.4">3.4. The python interpreter complains about options passed to a script (after the script name).</A>
-<LI><A HREF="#3.5">3.5. When building on the SGI, make tries to run python to create glmodule.c, but python hasn't been built or installed yet.</A>
-<LI><A HREF="#3.6">3.6. I use VPATH but some targets are built in the source directory.</A>
-<LI><A HREF="#3.7">3.7. Trouble building or linking with the GNU readline library.</A>
-<LI><A HREF="#3.8">3.8. Trouble with socket I/O on older Linux 1.x versions.</A>
-<LI><A HREF="#3.9">3.9. Trouble with prototypes on Ultrix.</A>
-<LI><A HREF="#3.10">3.10. Other trouble building Python on platform X.</A>
-<LI><A HREF="#3.11">3.11. How to configure dynamic loading on Linux.</A>
-<LI><A HREF="#3.12">3.12. I can't get shared modules to work on Linux 2.0 (Slackware96)?</A>
-<LI><A HREF="#3.13">3.13. Trouble when making modules shared on Linux.</A>
-<LI><A HREF="#3.14">3.14. [deleted]</A>
-<LI><A HREF="#3.15">3.15. Errors when linking with a shared library containing C++ code.</A>
-<LI><A HREF="#3.16">3.16. Deleted</A>
-<LI><A HREF="#3.17">3.17. Deleted.</A>
-<LI><A HREF="#3.18">3.18. Compilation or link errors for the _tkinter module</A>
-<LI><A HREF="#3.19">3.19. I configured and built Python for Tcl/Tk but &quot;import Tkinter&quot; fails.</A>
-<LI><A HREF="#3.20">3.20. [deleted]</A>
-<LI><A HREF="#3.21">3.21. Several common system calls are missing from the posix module.</A>
-<LI><A HREF="#3.22">3.22. ImportError: No module named string, on MS Windows.</A>
-<LI><A HREF="#3.23">3.23. Core dump on SGI when using the gl module.</A>
-<LI><A HREF="#3.24">3.24. &quot;Initializer not a constant&quot; while building DLL on MS-Windows</A>
-<LI><A HREF="#3.25">3.25. Output directed to a pipe or file disappears on Linux.</A>
-<LI><A HREF="#3.26">3.26. [deleted]</A>
-<LI><A HREF="#3.27">3.27. [deleted]</A>
-<LI><A HREF="#3.28">3.28. How can I test if Tkinter is working?</A>
-<LI><A HREF="#3.29">3.29. Is there a way to get the interactive mode of the python interpreter to perform function/variable name completion?</A>
-<LI><A HREF="#3.30">3.30. Why is the Python interpreter not built as a shared library?</A>
-<LI><A HREF="#3.31">3.31. Build with GCC on Solaris 2.6 (SunOS 5.6) fails</A>
-<LI><A HREF="#3.32">3.32. Running &quot;make clean&quot; seems to leave problematic files that cause subsequent builds to fail.</A>
-<LI><A HREF="#3.33">3.33. Submitting bug reports and patches</A>
-<LI><A HREF="#3.34">3.34. I can't load shared libraries under Python 1.5.2, Solaris 7, and gcc 2.95.2</A>
-<LI><A HREF="#3.35">3.35. In the regression test, test___all__ fails for the profile module. What's wrong?</A>
-<LI><A HREF="#3.36">3.36. relocations remain against allocatable but non-writable sections</A>
-
-</UL>
-
-<P>
-<HR>
-<H2>4. Programming in Python</H2>
-<UL>
-<LI><A HREF="#4.1">4.1. Is there a source code level debugger with breakpoints, step, etc.?</A>
-<LI><A HREF="#4.2">4.2. Can I create an object class with some methods implemented in C and others in Python (e.g. through inheritance)? (Also phrased as: Can I use a built-in type as base class?)</A>
-<LI><A HREF="#4.3">4.3. Is there a curses/termcap package for Python?</A>
-<LI><A HREF="#4.4">4.4. Is there an equivalent to C's onexit() in Python?</A>
-<LI><A HREF="#4.5">4.5. [deleted]</A>
-<LI><A HREF="#4.6">4.6. How do I iterate over a sequence in reverse order?</A>
-<LI><A HREF="#4.7">4.7. My program is too slow. How do I speed it up?</A>
-<LI><A HREF="#4.8">4.8. When I have imported a module, then edit it, and import it again (into the same Python process), the changes don't seem to take place. What is going on?</A>
-<LI><A HREF="#4.9">4.9. How do I find the current module name?</A>
-<LI><A HREF="#4.10">4.10. I have a module in which I want to execute some extra code when it is run as a script. How do I find out whether I am running as a script?</A>
-<LI><A HREF="#4.11">4.11. I try to run a program from the Demo directory but it fails with ImportError: No module named ...; what gives?</A>
-<LI><A HREF="#4.12">4.12. [deleted]</A>
-<LI><A HREF="#4.13">4.13. What GUI toolkits exist for Python?</A>
-<LI><A HREF="#4.14">4.14. Are there any interfaces to database packages in Python?</A>
-<LI><A HREF="#4.15">4.15. Is it possible to write obfuscated one-liners in Python?</A>
-<LI><A HREF="#4.16">4.16. Is there an equivalent of C's &quot;?:&quot; ternary operator?</A>
-<LI><A HREF="#4.17">4.17. My class defines __del__ but it is not called when I delete the object.</A>
-<LI><A HREF="#4.18">4.18. How do I change the shell environment for programs called using os.popen() or os.system()? Changing os.environ doesn't work.</A>
-<LI><A HREF="#4.19">4.19. What is a class?</A>
-<LI><A HREF="#4.20">4.20. What is a method?</A>
-<LI><A HREF="#4.21">4.21. What is self?</A>
-<LI><A HREF="#4.22">4.22. What is an unbound method?</A>
-<LI><A HREF="#4.23">4.23. How do I call a method defined in a base class from a derived class that overrides it?</A>
-<LI><A HREF="#4.24">4.24. How do I call a method from a base class without using the name of the base class?</A>
-<LI><A HREF="#4.25">4.25. How can I organize my code to make it easier to change the base class?</A>
-<LI><A HREF="#4.26">4.26. How can I find the methods or attributes of an object?</A>
-<LI><A HREF="#4.27">4.27. I can't seem to use os.read() on a pipe created with os.popen().</A>
-<LI><A HREF="#4.28">4.28. How can I create a stand-alone binary from a Python script?</A>
-<LI><A HREF="#4.29">4.29. What WWW tools are there for Python?</A>
-<LI><A HREF="#4.30">4.30. How do I run a subprocess with pipes connected to both input and output?</A>
-<LI><A HREF="#4.31">4.31. How do I call a function if I have the arguments in a tuple?</A>
-<LI><A HREF="#4.32">4.32. How do I enable font-lock-mode for Python in Emacs?</A>
-<LI><A HREF="#4.33">4.33. Is there a scanf() or sscanf() equivalent?</A>
-<LI><A HREF="#4.34">4.34. Can I have Tk events handled while waiting for I/O?</A>
-<LI><A HREF="#4.35">4.35. How do I write a function with output parameters (call by reference)?</A>
-<LI><A HREF="#4.36">4.36. Please explain the rules for local and global variables in Python.</A>
-<LI><A HREF="#4.37">4.37. How can I have modules that mutually import each other?</A>
-<LI><A HREF="#4.38">4.38. How do I copy an object in Python?</A>
-<LI><A HREF="#4.39">4.39. How to implement persistent objects in Python? (Persistent == automatically saved to and restored from disk.)</A>
-<LI><A HREF="#4.40">4.40. I try to use __spam and I get an error about _SomeClassName__spam.</A>
-<LI><A HREF="#4.41">4.41. How do I delete a file? And other file questions.</A>
-<LI><A HREF="#4.42">4.42. How to modify urllib or httplib to support HTTP/1.1?</A>
-<LI><A HREF="#4.43">4.43. Unexplicable syntax errors in compile() or exec.</A>
-<LI><A HREF="#4.44">4.44. How do I convert a string to a number?</A>
-<LI><A HREF="#4.45">4.45. How do I convert a number to a string?</A>
-<LI><A HREF="#4.46">4.46. How do I copy a file?</A>
-<LI><A HREF="#4.47">4.47. How do I check if an object is an instance of a given class or of a subclass of it?</A>
-<LI><A HREF="#4.48">4.48. What is delegation?</A>
-<LI><A HREF="#4.49">4.49. How do I test a Python program or component.</A>
-<LI><A HREF="#4.50">4.50. My multidimensional list (array) is broken! What gives?</A>
-<LI><A HREF="#4.51">4.51. I want to do a complicated sort: can you do a Schwartzian Transform in Python?</A>
-<LI><A HREF="#4.52">4.52. How to convert between tuples and lists?</A>
-<LI><A HREF="#4.53">4.53. Files retrieved with urllib contain leading garbage that looks like email headers.</A>
-<LI><A HREF="#4.54">4.54. How do I get a list of all instances of a given class?</A>
-<LI><A HREF="#4.55">4.55. A regular expression fails with regex.error: match failure.</A>
-<LI><A HREF="#4.56">4.56. I can't get signal handlers to work.</A>
-<LI><A HREF="#4.57">4.57. I can't use a global variable in a function? Help!</A>
-<LI><A HREF="#4.58">4.58. What's a negative index? Why doesn't list.insert() use them?</A>
-<LI><A HREF="#4.59">4.59. How can I sort one list by values from another list?</A>
-<LI><A HREF="#4.60">4.60. Why doesn't dir() work on builtin types like files and lists?</A>
-<LI><A HREF="#4.61">4.61. How can I mimic CGI form submission (METHOD=POST)?</A>
-<LI><A HREF="#4.62">4.62. If my program crashes with a bsddb (or anydbm) database open, it gets corrupted. How come?</A>
-<LI><A HREF="#4.63">4.63. How do I make a Python script executable on Unix?</A>
-<LI><A HREF="#4.64">4.64. How do you remove duplicates from a list?</A>
-<LI><A HREF="#4.65">4.65. Are there any known year 2000 problems in Python?</A>
-<LI><A HREF="#4.66">4.66. I want a version of map that applies a method to a sequence of objects! Help!</A>
-<LI><A HREF="#4.67">4.67. How do I generate random numbers in Python?</A>
-<LI><A HREF="#4.68">4.68. How do I access the serial (RS232) port?</A>
-<LI><A HREF="#4.69">4.69. Images on Tk-Buttons don't work in Py15?</A>
-<LI><A HREF="#4.70">4.70. Where is the math.py (socket.py, regex.py, etc.) source file?</A>
-<LI><A HREF="#4.71">4.71. How do I send mail from a Python script?</A>
-<LI><A HREF="#4.72">4.72. How do I avoid blocking in connect() of a socket?</A>
-<LI><A HREF="#4.73">4.73. How do I specify hexadecimal and octal integers?</A>
-<LI><A HREF="#4.74">4.74. How to get a single keypress at a time?</A>
-<LI><A HREF="#4.75">4.75. How can I overload constructors (or methods) in Python?</A>
-<LI><A HREF="#4.76">4.76. How do I pass keyword arguments from one method to another?</A>
-<LI><A HREF="#4.77">4.77. What module should I use to help with generating HTML?</A>
-<LI><A HREF="#4.78">4.78. How do I create documentation from doc strings?</A>
-<LI><A HREF="#4.79">4.79. How do I read (or write) binary data?</A>
-<LI><A HREF="#4.80">4.80. I can't get key bindings to work in Tkinter</A>
-<LI><A HREF="#4.81">4.81. &quot;import crypt&quot; fails</A>
-<LI><A HREF="#4.82">4.82. Are there coding standards or a style guide for Python programs?</A>
-<LI><A HREF="#4.83">4.83. How do I freeze Tkinter applications?</A>
-<LI><A HREF="#4.84">4.84. How do I create static class data and static class methods?</A>
-<LI><A HREF="#4.85">4.85. __import__('x.y.z') returns &lt;module 'x'&gt;; how do I get z?</A>
-<LI><A HREF="#4.86">4.86. Basic thread wisdom</A>
-<LI><A HREF="#4.87">4.87. Why doesn't closing sys.stdout (stdin, stderr) really close it?</A>
-<LI><A HREF="#4.88">4.88. What kinds of global value mutation are thread-safe?</A>
-<LI><A HREF="#4.89">4.89. How do I modify a string in place?</A>
-<LI><A HREF="#4.90">4.90. How to pass on keyword/optional parameters/arguments</A>
-<LI><A HREF="#4.91">4.91. How can I get a dictionary to display its keys in a consistent order?</A>
-<LI><A HREF="#4.92">4.92. Is there a Python tutorial?</A>
-<LI><A HREF="#4.93">4.93. Deleted</A>
-<LI><A HREF="#4.94">4.94. How do I get a single keypress without blocking?</A>
-<LI><A HREF="#4.95">4.95. Is there an equivalent to Perl chomp()? (Remove trailing newline from string)</A>
-<LI><A HREF="#4.96">4.96. Why is join() a string method when I'm really joining the elements of a (list, tuple, sequence)?</A>
-<LI><A HREF="#4.97">4.97. How can my code discover the name of an object?</A>
-<LI><A HREF="#4.98">4.98. Why are floating point calculations so inaccurate?</A>
-<LI><A HREF="#4.99">4.99. I tried to open Berkeley DB file, but bsddb produces bsddb.error: (22, 'Invalid argument'). Help! How can I restore my data?</A>
-<LI><A HREF="#4.100">4.100. What are the &quot;best practices&quot; for using import in a module?</A>
-<LI><A HREF="#4.101">4.101. Is there a tool to help find bugs or perform static analysis?</A>
-<LI><A HREF="#4.102">4.102. UnicodeError: ASCII [decoding,encoding] error: ordinal not in range(128)</A>
-<LI><A HREF="#4.103">4.103. Using strings to call functions/methods</A>
-<LI><A HREF="#4.104">4.104. How fast are exceptions?</A>
-<LI><A HREF="#4.105">4.105. Sharing global variables across modules</A>
-<LI><A HREF="#4.106">4.106. Why is cPickle so slow?</A>
-<LI><A HREF="#4.107">4.107. When importing module XXX, why do I get &quot;undefined symbol: PyUnicodeUCS2_...&quot; ?</A>
-<LI><A HREF="#4.108">4.108. How do I create a .pyc file?</A>
-
-</UL>
-
-<P>
-<HR>
-<H2>5. Extending Python</H2>
-<UL>
-<LI><A HREF="#5.1">5.1. Can I create my own functions in C?</A>
-<LI><A HREF="#5.2">5.2. Can I create my own functions in C++?</A>
-<LI><A HREF="#5.3">5.3. How can I execute arbitrary Python statements from C?</A>
-<LI><A HREF="#5.4">5.4. How can I evaluate an arbitrary Python expression from C?</A>
-<LI><A HREF="#5.5">5.5. How do I extract C values from a Python object?</A>
-<LI><A HREF="#5.6">5.6. How do I use Py_BuildValue() to create a tuple of arbitrary length?</A>
-<LI><A HREF="#5.7">5.7. How do I call an object's method from C?</A>
-<LI><A HREF="#5.8">5.8. How do I catch the output from PyErr_Print() (or anything that prints to stdout/stderr)?</A>
-<LI><A HREF="#5.9">5.9. How do I access a module written in Python from C?</A>
-<LI><A HREF="#5.10">5.10. How do I interface to C++ objects from Python?</A>
-<LI><A HREF="#5.11">5.11. mSQLmodule (or other old module) won't build with Python 1.5 (or later)</A>
-<LI><A HREF="#5.12">5.12. I added a module using the Setup file and the make fails! Huh?</A>
-<LI><A HREF="#5.13">5.13. I want to compile a Python module on my Red Hat Linux system, but some files are missing.</A>
-<LI><A HREF="#5.14">5.14. What does &quot;SystemError: _PyImport_FixupExtension: module yourmodule not loaded&quot; mean?</A>
-<LI><A HREF="#5.15">5.15. How to tell &quot;incomplete input&quot; from &quot;invalid input&quot;?</A>
-<LI><A HREF="#5.16">5.16. How do I debug an extension?</A>
-<LI><A HREF="#5.17">5.17. How do I find undefined Linux g++ symbols, __builtin_new or __pure_virtural</A>
-<LI><A HREF="#5.18">5.18. How do I define and create objects corresponding to built-in/extension types</A>
-
-</UL>
-
-<P>
-<HR>
-<H2>6. Python's design</H2>
-<UL>
-<LI><A HREF="#6.1">6.1. Why isn't there a switch or case statement in Python?</A>
-<LI><A HREF="#6.2">6.2. Why does Python use indentation for grouping of statements?</A>
-<LI><A HREF="#6.3">6.3. Why are Python strings immutable?</A>
-<LI><A HREF="#6.4">6.4. Delete</A>
-<LI><A HREF="#6.5">6.5. Why does Python use methods for some functionality (e.g. list.index()) but functions for other (e.g. len(list))?</A>
-<LI><A HREF="#6.6">6.6. Why can't I derive a class from built-in types (e.g. lists or files)?</A>
-<LI><A HREF="#6.7">6.7. Why must 'self' be declared and used explicitly in method definitions and calls?</A>
-<LI><A HREF="#6.8">6.8. Can't you emulate threads in the interpreter instead of relying on an OS-specific thread implementation?</A>
-<LI><A HREF="#6.9">6.9. Why can't lambda forms contain statements?</A>
-<LI><A HREF="#6.10">6.10. [deleted]</A>
-<LI><A HREF="#6.11">6.11. [deleted]</A>
-<LI><A HREF="#6.12">6.12. Why is there no more efficient way of iterating over a dictionary than first constructing the list of keys()?</A>
-<LI><A HREF="#6.13">6.13. Can Python be compiled to machine code, C or some other language?</A>
-<LI><A HREF="#6.14">6.14. How does Python manage memory?</A>
-<LI><A HREF="#6.15">6.15. Why are there separate tuple and list data types?</A>
-<LI><A HREF="#6.16">6.16. How are lists implemented?</A>
-<LI><A HREF="#6.17">6.17. How are dictionaries implemented?</A>
-<LI><A HREF="#6.18">6.18. Why must dictionary keys be immutable?</A>
-<LI><A HREF="#6.19">6.19. How the heck do you make an array in Python?</A>
-<LI><A HREF="#6.20">6.20. Why doesn't list.sort() return the sorted list?</A>
-<LI><A HREF="#6.21">6.21. How do you specify and enforce an interface spec in Python?</A>
-<LI><A HREF="#6.22">6.22. Why do all classes have the same type? Why do instances all have the same type?</A>
-<LI><A HREF="#6.23">6.23. Why isn't all memory freed when Python exits?</A>
-<LI><A HREF="#6.24">6.24. Why no class methods or mutable class variables?</A>
-<LI><A HREF="#6.25">6.25. Why are default values sometimes shared between objects?</A>
-<LI><A HREF="#6.26">6.26. Why no goto?</A>
-<LI><A HREF="#6.27">6.27. How do you make a higher order function in Python?</A>
-<LI><A HREF="#6.28">6.28. Why do I get a SyntaxError for a 'continue' inside a 'try'?</A>
-<LI><A HREF="#6.29">6.29. Why can't raw strings (r-strings) end with a backslash?</A>
-<LI><A HREF="#6.30">6.30. Why can't I use an assignment in an expression?</A>
-<LI><A HREF="#6.31">6.31. Why doesn't Python have a &quot;with&quot; statement like some other languages?</A>
-<LI><A HREF="#6.32">6.32. Why are colons required for if/while/def/class?</A>
-<LI><A HREF="#6.33">6.33. Can't we get rid of the Global Interpreter Lock?</A>
-
-</UL>
-
-<P>
-<HR>
-<H2>7. Using Python on non-UNIX platforms</H2>
-<UL>
-<LI><A HREF="#7.1">7.1. Is there a Mac version of Python?</A>
-<LI><A HREF="#7.2">7.2. Are there DOS and Windows versions of Python?</A>
-<LI><A HREF="#7.3">7.3. Is there an OS/2 version of Python?</A>
-<LI><A HREF="#7.4">7.4. Is there a VMS version of Python?</A>
-<LI><A HREF="#7.5">7.5. What about IBM mainframes, or other non-UNIX platforms?</A>
-<LI><A HREF="#7.6">7.6. Where are the source or Makefiles for the non-UNIX versions?</A>
-<LI><A HREF="#7.7">7.7. What is the status and support for the non-UNIX versions?</A>
-<LI><A HREF="#7.8">7.8. I have a PC version but it appears to be only a binary. Where's the library?</A>
-<LI><A HREF="#7.9">7.9. Where's the documentation for the Mac or PC version?</A>
-<LI><A HREF="#7.10">7.10. How do I create a Python program file on the Mac or PC?</A>
-<LI><A HREF="#7.11">7.11. How can I use Tkinter on Windows 95/NT?</A>
-<LI><A HREF="#7.12">7.12. cgi.py (or other CGI programming) doesn't work sometimes on NT or win95!</A>
-<LI><A HREF="#7.13">7.13. Why doesn't os.popen() work in PythonWin on NT?</A>
-<LI><A HREF="#7.14">7.14. How do I use different functionality on different platforms with the same program?</A>
-<LI><A HREF="#7.15">7.15. Is there an Amiga version of Python?</A>
-<LI><A HREF="#7.16">7.16. Why doesn't os.popen()/win32pipe.popen() work on Win9x?</A>
-
-</UL>
-
-<P>
-<HR>
-<H2>8. Python on Windows</H2>
-<UL>
-<LI><A HREF="#8.1">8.1. Using Python for CGI on Microsoft Windows</A>
-<LI><A HREF="#8.2">8.2. How to check for a keypress without blocking?</A>
-<LI><A HREF="#8.3">8.3. $PYTHONPATH</A>
-<LI><A HREF="#8.4">8.4. dedent syntax errors</A>
-<LI><A HREF="#8.5">8.5. How do I emulate os.kill() in Windows?</A>
-<LI><A HREF="#8.6">8.6. Why does os.path.isdir() fail on NT shared directories?</A>
-<LI><A HREF="#8.7">8.7. PyRun_SimpleFile() crashes on Windows but not on Unix</A>
-<LI><A HREF="#8.8">8.8. Import of _tkinter fails on Windows 95/98</A>
-<LI><A HREF="#8.9">8.9. Can't extract the downloaded documentation on Windows</A>
-<LI><A HREF="#8.10">8.10. Can't get Py_RunSimpleFile() to work.</A>
-<LI><A HREF="#8.11">8.11. Where is Freeze for Windows?</A>
-<LI><A HREF="#8.12">8.12. Is a *.pyd file the same as a DLL?</A>
-<LI><A HREF="#8.13">8.13. Missing cw3215mt.dll (or missing cw3215.dll)</A>
-<LI><A HREF="#8.14">8.14. How to make python scripts executable:</A>
-<LI><A HREF="#8.15">8.15. Warning about CTL3D32 version from installer</A>
-<LI><A HREF="#8.16">8.16. How can I embed Python into a Windows application?</A>
-<LI><A HREF="#8.17">8.17. Setting up IIS 5 to use Python for CGI</A>
-<LI><A HREF="#8.18">8.18. How do I run a Python program under Windows?</A>
-
-</UL>
-
-<HR>
-<H1>1. General information and availability</H1>
-
-<HR>
-<H2><A NAME="1.1">1.1. What is Python?</A></H2>
-Python is an interpreted, interactive, object-oriented programming
-language.  It incorporates modules, exceptions, dynamic typing, very
-high level dynamic data types, and classes.  Python combines
-remarkable power with very clear syntax.  It has interfaces to many
-system calls and libraries, as well as to various window systems, and
-is extensible in C or C++.  It is also usable as an extension language
-for applications that need a programmable interface.  Finally, Python
-is portable: it runs on many brands of UNIX, on the Mac, and on PCs
-under MS-DOS, Windows, Windows NT, and OS/2.
-<P>
-To find out more, the best thing to do is to start reading the
-tutorial from the documentation set (see a few questions further
-down).
-<P>
-See also question 1.17 (what is Python good for).
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.001.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.001.htp">Log info</A>
-
-/ Last changed on Mon May 26 16:05:18 1997 by
-<A HREF="mailto:guido@cnri.reston.va.us">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.2">1.2. Why is it called Python?</A></H2>
-Apart from being a computer scientist, I'm also a fan of "Monty
-Python's Flying Circus" (a BBC comedy series from the seventies, in
-the -- unlikely -- case you didn't know).  It occurred to me one day
-that I needed a name that was short, unique, and slightly mysterious.
-And I happened to be reading some scripts from the series at the
-time...  So then I decided to call my language Python.
-<P>
-By now I don't care any more whether you use a Python, some other
-snake, a foot or 16-ton weight, or a wood rat as a logo for Python!
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.002.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.002.htp">Log info</A>
-
-/ Last changed on Thu Aug 24 00:50:41 2000 by
-<A HREF="mailto:guido@beopen.com">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.3">1.3. How do I obtain a copy of the Python source?</A></H2>
-The latest Python source distribution is always available from
-python.org, at <A HREF="http://www.python.org/download">http://www.python.org/download</A>.  The latest development sources can be obtained via anonymous CVS from SourceForge, at <A HREF="http://www.sf.net/projects/python">http://www.sf.net/projects/python</A> .
-<P>
-The source distribution is a gzipped tar file containing the complete C source, LaTeX
-documentation, Python library modules, example programs, and several
-useful pieces of freely distributable software.  This will compile and
-run out of the box on most UNIX platforms.  (See section 7 for
-non-UNIX information.)
-<P>
-Older versions of Python are also available from python.org.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.003.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.003.htp">Log info</A>
-
-/ Last changed on Tue Apr  9 17:06:16 2002 by
-<A HREF="mailto:akuchlin@mems-exchange.org">A.M. Kuchling</A>
-<P>
-
-<HR>
-<H2><A NAME="1.4">1.4. How do I get documentation on Python?</A></H2>
-All documentation is available on-line, starting at <A HREF="http://www.python.org/doc">http://www.python.org/doc</A>/. 
-<P>
-The LaTeX source for the documentation is part of the source
-distribution.  If you don't have LaTeX, the latest Python
-documentation set is available, in various formats like postscript 
-and html, by anonymous ftp - visit the above URL for links to the
-current versions.
-<P>
-PostScript for a high-level description of Python is in the file nluug-paper.ps 
-(a separate file on the ftp site).
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.004.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.004.htp">Log info</A>
-
-/ Last changed on Wed Jan 21 12:02:55 1998 by
-<A HREF="mailto:klm@python.org">Ken Manheimer</A>
-<P>
-
-<HR>
-<H2><A NAME="1.5">1.5. Are there other ftp sites that mirror the Python distribution?</A></H2>
-The following anonymous ftp sites keep mirrors of the Python
-distribution:
-<P>
-USA:
-<P>
-<PRE>
-        <A HREF="ftp://ftp.python.org/pub/python">ftp://ftp.python.org/pub/python</A>/
-        <A HREF="ftp://gatekeeper.dec.com/pub/plan/python">ftp://gatekeeper.dec.com/pub/plan/python</A>/
-        <A HREF="ftp://ftp.uu.net/languages/python">ftp://ftp.uu.net/languages/python</A>/
-        <A HREF="ftp://ftp.wustl.edu/graphics/graphics/sgi-stuff/python">ftp://ftp.wustl.edu/graphics/graphics/sgi-stuff/python</A>/
-        <A HREF="ftp://ftp.sterling.com/programming/languages/python">ftp://ftp.sterling.com/programming/languages/python</A>/
-        <A HREF="ftp://uiarchive.cso.uiuc.edu/pub/lang/python">ftp://uiarchive.cso.uiuc.edu/pub/lang/python</A>/
-        <A HREF="ftp://ftp.pht.com/mirrors/python/python">ftp://ftp.pht.com/mirrors/python/python</A>/
-	<A HREF="ftp://ftp.cdrom.com/pub/python">ftp://ftp.cdrom.com/pub/python</A>/
-</PRE>
-Europe:
-<P>
-<PRE>
-        <A HREF="ftp://ftp.cwi.nl/pub/python">ftp://ftp.cwi.nl/pub/python</A>/
-        <A HREF="ftp://ftp.funet.fi/pub/languages/python">ftp://ftp.funet.fi/pub/languages/python</A>/
-        <A HREF="ftp://ftp.sunet.se/pub/lang/python">ftp://ftp.sunet.se/pub/lang/python</A>/
-        <A HREF="ftp://unix.hensa.ac.uk/mirrors/uunet/languages/python">ftp://unix.hensa.ac.uk/mirrors/uunet/languages/python</A>/
-        <A HREF="ftp://ftp.lip6.fr/pub/python">ftp://ftp.lip6.fr/pub/python</A>/
-        <A HREF="ftp://sunsite.cnlab-switch.ch/mirror/python">ftp://sunsite.cnlab-switch.ch/mirror/python</A>/
-        <A HREF="ftp://ftp.informatik.tu-muenchen.de/pub/comp/programming/languages/python">ftp://ftp.informatik.tu-muenchen.de/pub/comp/programming/languages/python</A>/
-</PRE>
-Australia:
-<P>
-<PRE>
-        <A HREF="ftp://ftp.dstc.edu.au/pub/python">ftp://ftp.dstc.edu.au/pub/python</A>/
-</PRE>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.005.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.005.htp">Log info</A>
-
-/ Last changed on Wed Mar 24 09:20:49 1999 by
-<A HREF="mailto:akuchlin@cnri.reston.va.us">A.M. Kuchling</A>
-<P>
-
-<HR>
-<H2><A NAME="1.6">1.6. Is there a newsgroup or mailing list devoted to Python?</A></H2>
-There is a newsgroup, comp.lang.python,
-and a mailing list.  The newsgroup and mailing list are gatewayed into
-each other -- if you can read news it's unnecessary to subscribe to
-the mailing list.  To subscribe to the mailing list
-(<A HREF="mailto:python-list@python.org">python-list@python.org</A>) visit its Mailman webpage at
-<A HREF="http://www.python.org/mailman/listinfo/python-list">http://www.python.org/mailman/listinfo/python-list</A>
-<P>
-More info about the newsgroup and mailing list, and about other lists,
-can be found at
-<A HREF="http://www.python.org/psa/MailingLists.html">http://www.python.org/psa/MailingLists.html</A>.
-<P>
-Archives of the newsgroup are kept by Deja News and accessible
-through the "Python newsgroup search" web page,
-<A HREF="http://www.python.org/search/search_news.html">http://www.python.org/search/search_news.html</A>.
-This page also contains pointer to other archival collections.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.006.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.006.htp">Log info</A>
-
-/ Last changed on Wed Jun 23 09:29:36 1999 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.7">1.7. Is there a WWW page devoted to Python?</A></H2>
-Yes, <A HREF="http://www.python.org">http://www.python.org</A>/ is the official Python home page.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.007.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.007.htp">Log info</A>
-
-/ Last changed on Fri May 23 14:42:59 1997 by
-<A HREF="mailto:klm@python.org">Ken Manheimer</A>
-<P>
-
-<HR>
-<H2><A NAME="1.8">1.8. Is the Python documentation available on the WWW?</A></H2>
-Yes. Python 2.0 documentation is available from
-<A HREF="http://www.pythonlabs.com/tech/python2.0/doc">http://www.pythonlabs.com/tech/python2.0/doc</A>/ and from
-<A HREF="http://www.python.org/doc">http://www.python.org/doc</A>/.  Note that most documentation
-is available for on-line browsing as well as for downloading.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.008.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.008.htp">Log info</A>
-
-/ Last changed on Tue Jan  2 03:14:08 2001 by
-<A HREF="mailto:moshez@zadka.site.co.il">Moshe Zadka</A>
-<P>
-
-<HR>
-<H2><A NAME="1.9">1.9. Are there any books on Python?</A></H2>
-Yes, many, and more are being published.  See
-the python.org Wiki at <A HREF="http://www.python.org/cgi-bin/moinmoin/PythonBooks">http://www.python.org/cgi-bin/moinmoin/PythonBooks</A> for a list.
-<P>
-You can also search online bookstores for "Python"
-(and filter out the Monty Python references; or
-perhaps search for "Python" and "language").
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.009.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.009.htp">Log info</A>
-
-/ Last changed on Mon Aug  5 19:08:49 2002 by
-<A HREF="mailto:akuchlin@mems-exchange.org">amk</A>
-<P>
-
-<HR>
-<H2><A NAME="1.10">1.10. Are there any published articles about Python that I can reference?</A></H2>
-If you can't reference the web site, and you don't want to reference the books
-(see previous question), there are several articles on Python that you could
-reference.
-<P>
-Most publications about Python are collected on the Python web site:
-<P>
-<PRE>
-    <A HREF="http://www.python.org/doc/Publications.html">http://www.python.org/doc/Publications.html</A>
-</PRE>
-It is no longer recommended to reference this
-very old article by Python's author:
-<P>
-<PRE>
-    Guido van Rossum and Jelke de Boer, "Interactively Testing Remote
-    Servers Using the Python Programming Language", CWI Quarterly, Volume
-    4, Issue 4 (December 1991), Amsterdam, pp 283-303.
-</PRE>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.010.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.010.htp">Log info</A>
-
-/ Last changed on Sat Jul  4 20:52:31 1998 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.11">1.11. Are there short introductory papers or talks on Python?</A></H2>
-There are several - you can find links to some of them collected at
-<A HREF="http://www.python.org/doc/Hints.html#intros">http://www.python.org/doc/Hints.html#intros</A>.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.011.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.011.htp">Log info</A>
-
-/ Last changed on Fri May 23 15:04:05 1997 by
-<A HREF="mailto:klm@python.org">Ken Manheimer</A>
-<P>
-
-<HR>
-<H2><A NAME="1.12">1.12. How does the Python version numbering scheme work?</A></H2>
-Python versions are numbered A.B.C or A.B.  A is the major version
-number -- it is only incremented for really major changes in the
-language.  B is the minor version number, incremented for less
-earth-shattering changes.  C is the micro-level -- it is
-incremented for each bugfix release.  See PEP 6 for more information
-about bugfix releases.
-<P>
-Not all releases have bugfix releases.
-Note that in the past (ending with 1.5.2),
-micro releases have added significant changes;
-in fact the changeover from 0.9.9 to 1.0.0 was the first time
-that either A or B changed!
-<P>
-Alpha, beta and release candidate versions have an additional suffixes.
-The suffix for an alpha version is "aN" for some small number N, the
-suffix for a beta version is "bN" for some small number N, and the
-suffix for a release candidate version is "cN" for some small number N.
-<P>
-Note that (for instance) all versions labeled 2.0aN precede the
-versions labeled 2.0bN, which precede versions labeled 2.0cN, and
-<I>those</I> precede 2.0.
-<P>
-As a rule, no changes are made between release candidates and the final
-release unless there are show-stopper bugs.
-<P>
-You may also find version numbers with a "+" suffix, e.g. "2.2+".
-These are unreleased versions, built directly from the CVS trunk.
-<P>
-See also the documentation for sys.version, sys.hexversion, and
-sys.version_info.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.012.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.012.htp">Log info</A>
-
-/ Last changed on Mon Jan 14 06:34:17 2002 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.13">1.13. How do I get a beta test version of Python?</A></H2>
-All releases, including alphas, betas and release candidates, are announced on
-comp.lang.python and comp.lang.python.announce newsgroups,
-which are gatewayed into the <A HREF="mailto:python-list@python.org">python-list@python.org</A> and
-<A HREF="mailto:python-announce@python.org">python-announce@python.org</A>. In addition, all these announcements appear on
-the Python home page, at <A HREF="http://www.python.org">http://www.python.org</A>.
-<P>
-You can also access the development version of Python through CVS.  See <A HREF="http://sourceforge.net/cvs/?group_id=5470">http://sourceforge.net/cvs/?group_id=5470</A> for details.  If you're not familiar with CVS, documents like <A HREF="http://linux.oreillynet.com/pub/a/linux/2002/01/03/cvs_intro.html">http://linux.oreillynet.com/pub/a/linux/2002/01/03/cvs_intro.html</A>
-provide an introduction.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.013.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.013.htp">Log info</A>
-
-/ Last changed on Mon Jun  3 00:57:08 2002 by
-<A HREF="mailto:neal@metaslash.com">Neal Norwitz</A>
-<P>
-
-<HR>
-<H2><A NAME="1.14">1.14. Are there copyright restrictions on the use of Python?</A></H2>
-Hardly.  You can do anything you want with the source, as long as
-you leave the copyrights in, and display those copyrights in any
-documentation about Python that you produce.  Also, don't use the
-author's institute's name in publicity without prior written
-permission, and don't hold them responsible for anything (read the
-actual copyright for a precise legal wording).
-<P>
-In particular, if you honor the copyright rules, it's OK to use Python
-for commercial use, to sell copies of Python in source or binary form,
-or to sell products that enhance Python or incorporate Python (or part
-of it) in some form.  I would still like to know about all commercial
-use of Python!
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.014.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.014.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="1.15">1.15. Why was Python created in the first place?</A></H2>
-Here's a <I>very</I> brief summary of what got me started:
-<P>
-I had extensive experience with implementing an interpreted language
-in the ABC group at CWI, and from working with this group I had
-learned a lot about language design.  This is the origin of many
-Python features, including the use of indentation for statement
-grouping and the inclusion of very-high-level data types (although the
-details are all different in Python).
-<P>
-I had a number of gripes about the ABC language, but also liked many
-of its features.  It was impossible to extend the ABC language (or its
-implementation) to remedy my complaints -- in fact its lack of
-extensibility was one of its biggest problems.
-I had some experience with using Modula-2+ and talked with the
-designers of Modula-3 (and read the M3 report).  M3 is the origin of
-the syntax and semantics used for exceptions, and some other Python
-features.
-<P>
-I was working in the Amoeba distributed operating system group at
-CWI.  We needed a better way to do system administration than by
-writing either C programs or Bourne shell scripts, since Amoeba had
-its own system call interface which wasn't easily accessible from the
-Bourne shell.  My experience with error handling in Amoeba made me
-acutely aware of the importance of exceptions as a programming
-language feature.
-<P>
-It occurred to me that a scripting language with a syntax like ABC
-but with access to the Amoeba system calls would fill the need.  I
-realized that it would be foolish to write an Amoeba-specific
-language, so I decided that I needed a language that was generally
-extensible.
-<P>
-During the 1989 Christmas holidays, I had a lot of time on my hand,
-so I decided to give it a try.  During the next year, while still
-mostly working on it in my own time, Python was used in the Amoeba
-project with increasing success, and the feedback from colleagues made
-me add many early improvements.
-<P>
-In February 1991, after just over a year of development, I decided
-to post to USENET.  The rest is in the Misc/HISTORY file.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.015.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.015.htp">Log info</A>
-
-/ Last changed on Fri May 23 00:06:23 1997 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.16">1.16. Do I have to like &quot;Monty Python's Flying Circus&quot;?</A></H2>
-No, but it helps.  Pythonistas like the occasional reference to SPAM,
-and of course, nobody expects the Spanish Inquisition
-<P>
-The two main reasons to use Python are:
-<P>
-<PRE>
- - Portable
- - Easy to learn
-</PRE>
-The <I>three</I> main reasons to use Python are:
-<P>
-<PRE>
- - Portable
- - Easy to learn
- - Powerful standard library
-</PRE>
-(And nice red uniforms.)
-<P>
-And remember, there is <I>no</I> rule six.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.016.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.016.htp">Log info</A>
-
-/ Last changed on Wed May 28 10:39:21 1997 by
-<A HREF="mailto:guido@cnri.reston.va.us">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.17">1.17. What is Python good for?</A></H2>
-Python is used in many situations where a great deal of dynamism,
-ease of use, power, and flexibility are required.  
-<P>
-In the area of basic text
-manipulation core Python (without any non-core extensions) is easier
-to use and is roughly as fast as just  about any language, and this makes Python
-good for many system administration type tasks and for CGI programming
-and other application areas that manipulate text and strings and such.
-<P>
-When augmented with
-standard extensions (such as PIL, COM, Numeric, oracledb, kjbuckets, 
-tkinter, win32api, etc.)
-or special purpose extensions (that you write, perhaps using helper tools such
-as SWIG, or using object protocols such as ILU/CORBA or COM) Python 
-becomes a very convenient "glue" or "steering"
-language that helps make heterogeneous collections of unrelated
-software packages work together.
-For example by combining Numeric with oracledb you can help your
-SQL database do statistical analysis, or even Fourier transforms.
-One of the features that makes Python excel in the "glue language" role
-is Python's simple, usable, and powerful C language runtime API.
-<P>
-Many developers also use Python extensively as a graphical user
-interface development aide.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.017.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.017.htp">Log info</A>
-
-/ Last changed on Sat May 24 10:13:11 1997 by
-<A HREF="mailto:aaron_watters@msn.com">Aaron Watters</A>
-<P>
-
-<HR>
-<H2><A NAME="1.18">1.18. Can I use the FAQ Wizard software to maintain my own FAQ?</A></H2>
-Sure.  It's in Tools/faqwiz/ of the python source tree.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.018.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.018.htp">Log info</A>
-
-/ Last changed on Fri Mar 29 06:50:32 2002 by
-<A HREF="mailto:aahz@pythoncraft.com">Aahz</A>
-<P>
-
-<HR>
-<H2><A NAME="1.19">1.19. Which editor has good support for editing Python source code?</A></H2>
-On Unix, the first choice is Emacs/XEmacs.  There's an elaborate
-mode for editing Python code, which is available from the Python
-source distribution (Misc/python-mode.el).  It's also bundled
-with XEmacs (we're still working on legal details to make it possible
-to bundle it with FSF Emacs).  And it has its own web page:
-<P>
-<PRE>
-    <A HREF="http://www.python.org/emacs/python-mode/index.html">http://www.python.org/emacs/python-mode/index.html</A>
-</PRE>
-There are many other choices, for Unix, Windows or Macintosh.
-Richard Jones compiled a table from postings on the Python newsgroup:
-<P>
-<PRE>
-    <A HREF="http://www.bofh.asn.au/~richard/editors.html">http://www.bofh.asn.au/~richard/editors.html</A>
-</PRE>
-See also FAQ question 7.10 for some more Mac and Win options.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.019.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.019.htp">Log info</A>
-
-/ Last changed on Mon Jun 15 23:21:04 1998 by
-<A HREF="mailto:guido@python.org">Gvr</A>
-<P>
-
-<HR>
-<H2><A NAME="1.20">1.20. I've never programmed before. Is there a Python tutorial?</A></H2>
-There are several, and at least one book.  
-All information for beginning Python programmers is collected here:
-<P>
-<PRE>
-    <A HREF="http://www.python.org/doc/Newbies.html">http://www.python.org/doc/Newbies.html</A>
-</PRE>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.020.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.020.htp">Log info</A>
-
-/ Last changed on Wed Sep  5 05:34:07 2001 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="1.21">1.21. Where in the world is www.python.org located?</A></H2>
-It's currently in Amsterdam, graciously hosted by XS4ALL:
-<P>
-<PRE>
-    <A HREF="http://www.xs4all.nl">http://www.xs4all.nl</A>
-</PRE>
-Thanks to Thomas Wouters for setting this up!!!!
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq01.021.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq01.021.htp">Log info</A>
-
-/ Last changed on Fri Aug  3 21:49:27 2001 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H1>2. Python in the real world</H1>
-
-<HR>
-<H2><A NAME="2.1">2.1. How many people are using Python?</A></H2>
-Certainly thousands, and quite probably tens of thousands of users.
-More are seeing the light each day.  The comp.lang.python newsgroup is
-very active, but overall there is no accurate estimate of the number of subscribers or Python users.
-<P>
-Jacek Artymiak has created a Python Users Counter; you can see the 
-current count by visiting
-<A HREF="http://www.wszechnica.safenet.pl/cgi-bin/checkpythonuserscounter.py">http://www.wszechnica.safenet.pl/cgi-bin/checkpythonuserscounter.py</A>
-(this will not increment the counter; use the link there if you haven't
-added yourself already). Most Python users appear not to have registered themselves.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.001.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.001.htp">Log info</A>
-
-/ Last changed on Thu Feb 21 23:29:18 2002 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="2.2">2.2. Have any significant projects been done in Python?</A></H2>
-At CWI (the former home of Python), we have written a 20,000 line
-authoring environment for transportable hypermedia presentations, a
-5,000 line multimedia teleconferencing tool, as well as many many
-smaller programs.
-<P>
-At CNRI (Python's new home), we have written two large applications:
-Grail, a fully featured web browser (see
-<A HREF="http://grail.cnri.reston.va.us">http://grail.cnri.reston.va.us</A>),
-and the Knowbot Operating Environment,
-a distributed environment for mobile code.
-<P>
-The University of Virginia uses Python to control a virtual reality
-engine.  See <A HREF="http://alice.cs.cmu.edu">http://alice.cs.cmu.edu</A>.
-<P>
-The ILU project at Xerox PARC can generate Python glue for ILU
-interfaces.  See <A HREF="ftp://ftp.parc.xerox.com/pub/ilu/ilu.html">ftp://ftp.parc.xerox.com/pub/ilu/ilu.html</A>.  ILU
-is a free CORBA compliant ORB which supplies distributed object
-connectivity to a host of platforms using a host of languages.
-<P>
-Mark Hammond and Greg Stein and others are interfacing Python to
-Microsoft's COM and ActiveX architectures.  This means, among other
-things, that Python may be used in active server pages or as a COM
-controller (for example to automatically extract from or insert information
-into Excel or MSAccess or any other COM aware application).
-Mark claims Python can even be a ActiveX scripting host (which
-means you could embed JScript inside a Python application, if you
-had a strange sense of humor).  Python/AX/COM is distributed as part
-of the PythonWin distribution.
-<P>
-The University of California, Irvine uses a student administration
-system called TELE-Vision written entirely in Python.  Contact: Ray
-Price <A HREF="mailto:rlprice@uci.edu">rlprice@uci.edu</A>.
-<P>
-The Melbourne Cricket Ground (MCG) in Australia (a 100,000+ person venue)
-has it's scoreboard system written largely in Python on MS Windows.
-Python expressions are used to create almost every scoring entry that
-appears on the board.  The move to Python/C++ away from exclusive C++
-has provided a level of functionality that would simply not have been
-viable otherwise.
-<P>
-See also the next question.
-<P>
-Note: this FAQ entry is really old.
-See <A HREF="http://www.python.org/psa/Users.html">http://www.python.org/psa/Users.html</A> for a more recent list.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.002.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.002.htp">Log info</A>
-
-/ Last changed on Wed Oct 25 13:24:15 2000 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="2.3">2.3. Are there any commercial projects going on using Python?</A></H2>
-Yes, there's lots of commercial activity using Python.  See
-<A HREF="http://www.python.org/psa/Users.html">http://www.python.org/psa/Users.html</A> for a list.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.003.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.003.htp">Log info</A>
-
-/ Last changed on Wed Oct 14 18:17:33 1998 by
-<A HREF="mailto:klm@python.org">ken</A>
-<P>
-
-<HR>
-<H2><A NAME="2.4">2.4. How stable is Python?</A></H2>
-Very stable.  New, stable releases have been coming out roughly every 3 to 12 months since 1991, and this seems likely to continue.
-<P>
-With the introduction of retrospective "bugfix" releases the stability of the language implementations can be, and is being, improved independently of the new features offered by more recent major or minor releases. Bugfix releases, indicated by a third component of the version number, only fix known problems and do not gratuitously introduce new and possibly incompatible features or modified library functionality.
-<P>
-Release 2.2 got its first bugfix on April 10, 2002. The new version
-number is now 2.2.1. The 2.1 release, at 2.1.3, can probably be
-considered the "most stable" platform because it has been bugfixed
-twice.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.004.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.004.htp">Log info</A>
-
-/ Last changed on Tue Jul 23 10:20:04 2002 by
-<A HREF="mailto:kubieziel@gmx.de">Jens Kubieziel</A>
-<P>
-
-<HR>
-<H2><A NAME="2.5">2.5. What new developments are expected for Python in the future?</A></H2>
-See <A HREF="http://www.python.org/peps">http://www.python.org/peps</A>/ for the Python Enhancement 
-Proposals (PEPs). PEPs are design
-documents 
-describing a  suggested new feature for Python, providing
-a concise technical specification and a rationale.
-<P>
-Also, follow the discussions on the python-dev mailing list.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.005.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.005.htp">Log info</A>
-
-/ Last changed on Tue Apr  9 17:09:51 2002 by
-<A HREF="mailto:akuchlin@mems-exchange.org">A.M. Kuchling</A>
-<P>
-
-<HR>
-<H2><A NAME="2.6">2.6. Is it reasonable to propose incompatible changes to Python?</A></H2>
-In general, no.  There are already millions of lines of Python code
-around the world, so any changes in the language that invalidates more
-than a very small fraction of existing programs has to be frowned
-upon.  Even if you can provide a conversion program, there still is
-the problem of updating all documentation.  Providing a gradual
-upgrade path is the only way if a feature has to be changed.
-<P>
-See <A HREF="http://www.python.org/peps/pep-0005.html">http://www.python.org/peps/pep-0005.html</A> for the proposed
-mechanism for creating backwards-incompatibilities.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.006.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.006.htp">Log info</A>
-
-/ Last changed on Mon Apr  1 22:13:47 2002 by
-<A HREF="mailto:fdrake@acm.org">Fred Drake</A>
-<P>
-
-<HR>
-<H2><A NAME="2.7">2.7. What is the future of Python?</A></H2>
-Please see <A HREF="http://www.python.org/peps">http://www.python.org/peps</A>/ for proposals of future
-activities. One of the PEPs (Python Enhancement Proposals) deals
-with the PEP process and PEP format -- see
-<A HREF="http://www.python.org/peps/pep-0001.html">http://www.python.org/peps/pep-0001.html</A> if you want to
-submit a PEP. In <A HREF="http://www.python.org/peps/pep-0042.html">http://www.python.org/peps/pep-0042.html</A> there
-is a list of wishlists the Python Development team plans to tackle.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.007.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.007.htp">Log info</A>
-
-/ Last changed on Mon Apr  1 22:15:46 2002 by
-<A HREF="mailto:fdrake@acm.org">Fred Drake</A>
-<P>
-
-<HR>
-<H2><A NAME="2.8">2.8. What was the PSA, anyway?</A></H2>
-The Python Software Activity was
-created by a number of Python aficionados who want Python to be more
-than the product and responsibility of a single individual.
-The PSA was not an independent organization, but lived
-under the umbrealla of CNRI.
-<P>
-The PSA has been superseded by the Python Software Foundation,
-an independent non-profit organization.  The PSF's home page
-is at <A HREF="http://www.python.org/psf">http://www.python.org/psf</A>/.
-<P>
-Some pages created by the PSA still live at
-<A HREF="http://www.python.org/psa">http://www.python.org/psa</A>/
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.008.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.008.htp">Log info</A>
-
-/ Last changed on Thu Jul 25 18:19:44 2002 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="2.9">2.9. Deleted</A></H2>
-<P>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.009.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.009.htp">Log info</A>
-
-/ Last changed on Tue Jan  2 02:51:30 2001 by
-<A HREF="mailto:moshez@zadka.site.co.il">Moshe Zadka</A>
-<P>
-
-<HR>
-<H2><A NAME="2.10">2.10. Deleted</A></H2>
-<P>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.010.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.010.htp">Log info</A>
-
-/ Last changed on Tue Jan  2 02:52:19 2001 by
-<A HREF="mailto:moshez@zadka.site.co.il">Moshe Zadka</A>
-<P>
-
-<HR>
-<H2><A NAME="2.11">2.11. Is Python Y2K (Year 2000) Compliant?</A></H2>
-As of January, 2001 no major problems have been reported and Y2K
-compliance seems to be a non-issue.
-<P>
-Since Python is available free of charge, there are no absolute
-guarantees.  If there <I>are</I> unforeseen problems, liability is the
-user's rather than the developers', and there is nobody you can sue for damages.
-<P>
-Python does few 
-date manipulations, and what it does is all based on the Unix
-representation for time (even on non-Unix systems) which uses seconds
-since 1970 and won't overflow until 2038.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.011.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.011.htp">Log info</A>
-
-/ Last changed on Mon Jan  8 17:19:32 2001 by
-<A HREF="mailto:sholden@holdenweb.com">Steve Holden</A>
-<P>
-
-<HR>
-<H2><A NAME="2.12">2.12. Is Python a good language in a class for beginning programmers?</A></H2>
-Yes.  This long answer attempts to address any concerns you might
-have with teaching Python as a programmer's first language.  
-(If you want to discuss Python's use in education, then 
-you may be interested in joining the edu-sig mailinglist.
-See <A HREF="http://www.python.org/sigs/edu-sig">http://www.python.org/sigs/edu-sig</A>/ )
-<P>
-It is still common to start students with a procedural
-(subset of a) statically typed language such as Pascal, C, or
-a subset of C++ or Java.  I think that students may be better
-served by learning Python as their first language.  Python has
-a very simple and consistent syntax and a large standard library.
-Most importantly, using Python in a beginning programming course
-permits students to concentrate on important programming skills,
-such as problem decomposition and data type design.
-<P>
-With Python, students can be quickly introduced to basic concepts
-such as loops and procedures.  They can even probably work with
-user-defined objects in their very first course.  They could
-implement a tree structure as nested Python lists, for example.
-They could be introduced to objects in their first course if
-desired.  For a student who has never programmed before, using
-a statically typed language seems unnatural.  It presents
-additional complexity that the student must master and slows
-the pace of the course.  The students are trying to learn to
-think like a computer, decompose problems, design consistent
-interfaces, and encapsulate data.  While learning to use a
-statically typed language is important, it is not necessarily the
-best topic to address in the students' first programming course.
-<P>
-Many other aspects of Python make it a good first language.
-Python has a large standard library (like Java) so that
-students can be assigned programming projects very early in the
-course that <I>do</I> something.  Assignments aren't restricted to the
-standard four-function calculator and check balancing programs.
-By using the standard library, students can gain the satisfaction
-of working on realistic applications as they learn the fundamentals
-of programming.  Using the standard library also teaches students
-about code reuse.
-<P>
-Python's interactive interpreter also enables students to
-test language features while they're programming.  They can keep
-a window with the interpreter running while they enter their
-programs' source in another window.  If they can't remember the
-methods for a list, they can do something like this:
-<P>
-<PRE>
- >>> L = []
- >>> dir(L)
- ['append', 'count', 'extend', 'index', 'insert', 'pop', 'remove',
- 'reverse', 'sort']
- >>> print L.append.__doc__
- L.append(object) -- append object to end
- >>> L.append(1)
- >>> L
- [1]
-</PRE>
-With the interpreter, documentation is never far from the
-student as he's programming.
-<P>
-There are also good IDEs for Python.  Guido van Rossum's IDLE
-is a cross-platform IDE for Python that is written in Python
-using Tk.  There is also a Windows specific IDE called PythonWin.
-Emacs users will be happy to know that there is a very good Python
-mode for Emacs.  All of these programming environments provide
-syntax highlighting, auto-indenting, and access to the interactive
-interpreter while coding.  For more information about IDEs, see XXX.
-<P>
-If your department is currently using Pascal because it was
-designed to be a teaching language, then you'll be happy to
-know that Guido van Rossum designed Python to be simple to
-teach to everyone but powerful enough to implement real world
-applications.  Python makes a good language for first time
-programmers because that was one of Python's design goals.
-There are papers at <A HREF="http://www.python.org/doc/essays">http://www.python.org/doc/essays</A>/ on the Python website 
-by Python's creator explaining his objectives for the language.
-One that may interest you is titled "Computer Programming for Everybody" 
-<A HREF="http://www.python.org/doc/essays/cp4e.html">http://www.python.org/doc/essays/cp4e.html</A>
-<P>
-If you're seriously considering Python as a language for your
-school,  Guido van Rossum may even be willing to correspond with
-you about how the language would fit in your curriculum.
-See <A HREF="http://www.python.org/doc/FAQ.html#2.2">http://www.python.org/doc/FAQ.html#2.2</A> for examples of
-Python's use in the "real world."
-<P>
-While Python, its source code, and its IDEs are freely
-available, this consideration should not rule 
-out other languages.  There are other free languages (Java, 
-free C compilers), and many companies are willing to waive some
-or all of their fees for student programming tools if it
-guarantees that a whole graduating class will know how to
-use their tools.  That is, if one of the requirements for 
-the language that will be taught is that it be freely 
-available, then Python qualifies, but this requirement 
-does not preclude other languages.
-<P>
-While Python jobs may not be as prevalent as C/C++/Java jobs,
-teachers should not worry about teaching students critical job
-skills in their first course.  The skills that win students a
-job are those they learn in their senior classes and internships.
-Their first programming courses are there to lay a solid
-foundation in programming fundamentals.  The primary question
-in choosing the language for such a course should be which
-language permits the students to learn this material without
-hindering or limiting them.
-<P>
-Another argument for Python is that there are many tasks for
-which something like C++ is overkill.  That's where languages
-like Python, Perl, Tcl, and Visual Basic thrive.  It's critical
-for students to know something about these languages.   (Every
-employer for whom I've worked used at least one such language.)
-Of the languages listed above, Python probably makes the best
-language in a programming curriculum since its syntax is simple,
-consistent, and not unlike other languages (C/C++/Java) that
-are probably in the curriculum.  By starting students with
-Python, a department simultaneously lays the foundations for
-other programming courses and introduces students to the type
-of language that is often used as a "glue" language.  As an
-added bonus, Python can be used to interface with Microsoft's
-COM components (thanks to Mark Hammond).  There is also Jython, 
-a Java implementation of the Python interpreter, that can be 
-used to connect Java components.
-<P>
-If you currently start students with Pascal or C/C++ or Java,
-you may be worried they will have trouble learning a statically
-typed language after starting with Python.  I think that this
-fear most often stems from the fact that the teacher started
-with a statically typed language, and we tend to like to teach
-others in the same way we were taught.  In reality, the
-transition from Python to one of these other languages is
-quite simple.
-<P>
-To motivate a statically typed language such as C++, begin the
-course by explaining that unlike Python, their first language,
-C++ is compiled to a machine dependent executable.  Explain
-that the point is to make a very fast executable.  To permit
-the compiler to make optimizations, programmers must help it
-by specifying the "types" of variables.  By restricting each
-variable to a specific type, the compiler can reduce the
-book-keeping it has to do to permit dynamic types.  The compiler
-also has to resolve references at compile time.  Thus, the
-language gains speed by sacrificing some of Python's dynamic
-features.  Then again, the C++ compiler provides type safety
-and catches many bugs at compile time instead of run time (a
-critical consideration for many commercial applications).  C++
-is also designed for very large programs where one may want to
-guarantee that others don't touch an object's implementation.
-C++ provides very strong language features to separate an object's
-implementation from its interface.  Explain why this separation
-is a good thing.
-<P>
-The first day of a C++ course could then be a whirlwind introduction
-to what C++ requires and provides.  The point here is that after
-a semester or two of Python, students are hopefully competent
-programmers.  They know how to handle loops and write procedures.
-They've also worked with objects, thought about the benefits of
-consistent interfaces, and used the technique of subclassing to
-specialize behavior.  Thus, a whirlwind introduction to C++ could
-show them how objects and subclassing looks in C++.  The
-potentially difficult concepts of object-oriented design were
-taught without the additional obstacles presented by a language
-such as C++ or Java.  When learning one of these languages,
-the students would already understand the "road map."  They
-understand objects; they would just be learning how objects
-fit in a statically typed languages.  Language requirements
-and compiler errors that seem unnatural to beginning programmers
-make sense in this new context.  Many students will find it
-helpful to be able to write a fast prototype of their algorithms
-in Python.  Thus, they can test and debug their ideas before
-they attempt to write the code in the new language, saving the
-effort of working with C++ types for when they've discovered a
-working solution for their assignments.  When they get annoyed
-with the rigidity of types, they'll be happy to learn about
-containers and templates to regain some of the lost flexibility
-Python afforded them.  Students may also gain an appreciation
-for the fact that no language is best for every task.  They'll
-see that C++ is faster, but they'll know that they can gain
-flexibility and development speed with a Python when execution
-speed isn't critical.
-<P>
-If you have any concerns that weren't addressed here, try
-posting to the Python newsgroup.  Others there have done some
-work with using Python as an instructional tool.  Good luck.
-We'd love to hear about it if you choose Python for your course.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq02.012.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq02.012.htp">Log info</A>
-
-/ Last changed on Mon Dec  2 19:32:35 2002 by
-<A HREF="mailto:sconce@in-spec-inc.com">Bill Sconce</A>
-<P>
-
-<HR>
-<H1>3. Building Python and Other Known Bugs</H1>
-
-<HR>
-<H2><A NAME="3.1">3.1. Is there a test set?</A></H2>
-Sure.  You can run it after building with "make test", or you can
-run it manually with this command at the Python prompt:
-<P>
-<PRE>
- import test.autotest
-</PRE>
-In Python 1.4 or earlier, use
-<P>
-<PRE>
- import autotest
-</PRE>
-The test set doesn't test <I>all</I> features of Python,
-but it goes a long way to confirm that Python is actually working.
-<P>
-NOTE: if "make test" fails, don't just mail the output to the
-newsgroup -- this doesn't give enough information to debug the
-problem.  Instead, find out which test fails, and run that test
-manually from an interactive interpreter.  For example, if
-"make test" reports that test_spam fails, try this interactively:
-<P>
-<PRE>
- import test.test_spam
-</PRE>
-This generally produces more verbose output which can be diagnosed
-to debug the problem.  If you find a bug in Python or the libraries, or in the tests, please report this in the Python bug tracker at SourceForge:
-<P>
-<A HREF="http://sourceforge.net/tracker/?func=add&amp;group_id=5470&amp;atid=105470">http://sourceforge.net/tracker/?func=add&amp;group_id=5470&amp;atid=105470</A>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.001.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.001.htp">Log info</A>
-
-/ Last changed on Fri Apr 27 10:29:36 2001 by
-<A HREF="mailto:fdrake@acm.org">Fred Drake</A>
-<P>
-
-<HR>
-<H2><A NAME="3.2">3.2. When running the test set, I get complaints about floating point operations, but when playing with floating point operations I cannot find anything wrong with them.</A></H2>
-The test set makes occasional unwarranted assumptions about the
-semantics of C floating point operations.  Until someone donates a
-better floating point test set, you will have to comment out the
-offending floating point tests and execute similar tests manually.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.002.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.002.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.3">3.3. Link errors after rerunning the configure script.</A></H2>
-It is generally necessary to run "make clean" after a configuration
-change.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.003.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.003.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.4">3.4. The python interpreter complains about options passed to a script (after the script name).</A></H2>
-You are probably linking with GNU getopt, e.g. through -liberty.
-Don't.  The reason for the complaint is that GNU getopt, unlike System
-V getopt and other getopt implementations, doesn't consider a
-non-option to be the end of the option list.  A quick (and compatible)
-fix for scripts is to add "--" to the interpreter, like this:
-<P>
-<PRE>
-        #! /usr/local/bin/python --
-</PRE>
-You can also use this interactively:
-<P>
-<PRE>
-        python -- script.py [options]
-</PRE>
-Note that a working getopt implementation is provided in the Python
-distribution (in Python/getopt.c) but not automatically used.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.004.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.004.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.5">3.5. When building on the SGI, make tries to run python to create glmodule.c, but python hasn't been built or installed yet.</A></H2>
-Comment out the line mentioning glmodule.c in Setup and build a
-python without gl first; install it or make sure it is in your $PATH,
-then edit the Setup file again to turn on the gl module, and make
-again.  You don't need to do "make clean"; you do need to run "make
-Makefile" in the Modules subdirectory (or just run "make" at the
-toplevel).
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.005.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.005.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.6">3.6. I use VPATH but some targets are built in the source directory.</A></H2>
-On some systems (e.g. Sun), if the target already exists in the
-source directory, it is created there instead of in the build
-directory.  This is usually because you have previously built without
-VPATH.  Try running "make clobber" in the source directory.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.006.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.006.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.7">3.7. Trouble building or linking with the GNU readline library.</A></H2>
-You can use the GNU readline library to improve the interactive user
-interface: this gives you line editing and command history when
-calling python interactively. Its sources are distributed with 
-Python (at least for 2.0).  Uncomment the line 
-<P>
-#readline readline.c -lreadline -ltermcap
-<P>
-in Modules/Setup.  The configuration option --with-readline 
-is no longer supported, at least in Python 2.0.  Some hints on 
-building and using the readline library:
-On SGI IRIX 5, you may have to add the following
-to rldefs.h:
-<P>
-<PRE>
-        #ifndef sigmask
-        #define sigmask(sig) (1L &lt;&lt; ((sig)-1))
-        #endif
-</PRE>
-On some systems, you will have to add #include "rldefs.h" to the
-top of several source files, and if you use the VPATH feature, you
-will have to add dependencies of the form foo.o: foo.c to the
-Makefile for several values of foo.
-The readline library requires use of the termcap library. A
-known problem with this is that it contains entry points which
-cause conflicts with the STDWIN and SGI GL libraries. The STDWIN
-conflict can be solved by adding a line saying '#define werase w_erase' to the
-stdwin.h file (in the STDWIN distribution, subdirectory H). The
-GL conflict has been solved in the Python configure script by a
-hack that forces use of the static version of the termcap library.
-Check the newsgroup gnu.bash.bug news:gnu.bash.bug for
-specific problems with the readline library (I don't read this group
-but I've been told that it is the place for readline bugs).
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.007.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.007.htp">Log info</A>
-
-/ Last changed on Sat Dec  2 18:23:48 2000 by
-<A HREF="mailto:trotts@llnl.gov">Issac Trotts</A>
-<P>
-
-<HR>
-<H2><A NAME="3.8">3.8. Trouble with socket I/O on older Linux 1.x versions.</A></H2>
-Once you've built Python, use it to run the regen script in the
-Lib/plat-linux2 directory.  Apparently the files as distributed don't match the system headers on some Linux versions.
-<P>
-Note that this FAQ entry only applies to Linux kernel versions 1.x.y;
-these are hardly around any more.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.008.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.008.htp">Log info</A>
-
-/ Last changed on Tue Jul 30 20:05:52 2002 by
-<A HREF="mailto:kubieziel@gmx.de">Jens Kubieziel</A>
-<P>
-
-<HR>
-<H2><A NAME="3.9">3.9. Trouble with prototypes on Ultrix.</A></H2>
-Ultrix cc seems broken -- use gcc, or edit config.h to #undef
-HAVE_PROTOTYPES.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.009.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.009.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.10">3.10. Other trouble building Python on platform X.</A></H2>
-Please submit the details to the SourceForge bug tracker:
-<P>
-<PRE>
-  <A HREF="http://sourceforge.net/tracker/?group_id=5470&amp;atid=105470">http://sourceforge.net/tracker/?group_id=5470&amp;atid=105470</A>
-</PRE>
-and we'll look
-into it.  Please provide as many details as possible.  In particular,
-if you don't tell us what type of computer and what operating system
-(and version) you are using it will be difficult for us to figure out
-what is the matter.  If you have compilation output logs,
-please use file uploads -- don't paste everything in the message box.
-<P>
-In many cases, we won't have access to the same hardware or operating system version, so <I>please</I>, if you have a SourceForge account, log in before filing your report, or if you don't have an account, include an email address at which we can reach you for further questions.  Logging in to SourceForge first will also cause SourceForge to send you updates as we act on your report.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.010.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.010.htp">Log info</A>
-
-/ Last changed on Fri Apr 27 10:53:18 2001 by
-<A HREF="mailto:fdrake@acm.org">Fred Drake</A>
-<P>
-
-<HR>
-<H2><A NAME="3.11">3.11. How to configure dynamic loading on Linux.</A></H2>
-This is now automatic as long as your Linux version uses the ELF
-object format (all recent Linuxes do).
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.011.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.011.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.12">3.12. I can't get shared modules to work on Linux 2.0 (Slackware96)?</A></H2>
-This is a bug in the Slackware96 release. The fix is simple: Make sure
-that there is a link from /lib/libdl.so to /lib/libdl.so.1 so that the
-following links are setup: /lib/libdl.so -&gt; /lib/libdl.so.1
-/lib/libdl.so.1 -&gt; /lib/libdl.so.1.7.14 You may have to rerun the
-configure script, after rm'ing the config.cache file, before you
-attempt to rebuild python after this fix.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.012.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.012.htp">Log info</A>
-
-/ Last changed on Wed May 21 15:45:03 1997 by
-<A HREF="mailto:guido2@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="3.13">3.13. Trouble when making modules shared on Linux.</A></H2>
-This happens when you have built Python for static linking and then
-enable
-<PRE>
-  *shared*
-</PRE>
-in the Setup file.  Shared library code must be
-compiled with "-fpic".  If a .o file for the module already exist that
-was compiled for static linking, you must remove it or do "make clean"
-in the Modules directory.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.013.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.013.htp">Log info</A>
-
-/ Last changed on Fri May 23 13:42:30 1997 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="3.14">3.14. [deleted]</A></H2>
-[ancient information on threads on linux (when thread support
-was not standard) used to be here]
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.014.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.014.htp">Log info</A>
-
-/ Last changed on Sun Jun  2 17:27:13 2002 by
-<A HREF="mailto:erno-pyfaq@erno.iki.fi">Erno Kuusela</A>
-<P>
-
-<HR>
-<H2><A NAME="3.15">3.15. Errors when linking with a shared library containing C++ code.</A></H2>
-Link the main Python binary with C++.  Change the definition of
-LINKCC in Modules/Makefile to be your C++ compiler.  You may have to
-edit config.c slightly to make it compilable with C++.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.015.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.015.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.16">3.16. Deleted</A></H2>
-<P>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.016.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.016.htp">Log info</A>
-
-/ Last changed on Tue Sep 11 16:02:22 2001 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="3.17">3.17. Deleted.</A></H2>
-<P>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.017.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.017.htp">Log info</A>
-
-/ Last changed on Tue Sep 11 15:54:57 2001 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="3.18">3.18. Compilation or link errors for the _tkinter module</A></H2>
-Most likely, there's a version mismatch between the Tcl/Tk header
-files (tcl.h and tk.h) and the Tcl/Tk libraries you are using e.g.
-"-ltk8.0" and "-ltcl8.0" arguments for _tkinter in the Setup file).
-It is possible to install several versions of the Tcl/Tk libraries,
-but there can only be one version of the tcl.h and tk.h header
-files.  If the library doesn't match the header, you'll get
-problems, either when linking the module, or when importing it.
-Fortunately, the version number is clearly stated in each file,
-so this is easy to find.  Reinstalling and using the latest
-version usually fixes the problem.
-<P>
-(Also note that when compiling unpatched Python 1.5.1 against
-Tcl/Tk 7.6/4.2 or older, you get an error on Tcl_Finalize.  See
-the 1.5.1 patch page at <A HREF="http://www.python.org/1.5/patches-1.5.1">http://www.python.org/1.5/patches-1.5.1</A>/.)
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.018.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.018.htp">Log info</A>
-
-/ Last changed on Thu Jun 11 00:49:14 1998 by
-<A HREF="mailto:guido@python.org">Gvr</A>
-<P>
-
-<HR>
-<H2><A NAME="3.19">3.19. I configured and built Python for Tcl/Tk but &quot;import Tkinter&quot; fails.</A></H2>
-Most likely, you forgot to enable the line in Setup that says
-"TKPATH=:$(DESTLIB)/tkinter".
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.019.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.019.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.20">3.20. [deleted]</A></H2>
-[ancient information on a gcc+tkinter bug on alpha was here]
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.020.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.020.htp">Log info</A>
-
-/ Last changed on Mon Jun  3 16:46:23 2002 by
-<A HREF="mailto:erno-pyfaq@erno.iki.fi">Erno Kuusela</A>
-<P>
-
-<HR>
-<H2><A NAME="3.21">3.21. Several common system calls are missing from the posix module.</A></H2>
-Most likely, <I>all</I> test compilations run by the configure script
-are failing for some reason or another.  Have a look in config.log to
-see what could be the reason.  A common reason is specifying a
-directory to the --with-readline option that doesn't contain the
-libreadline.a file.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.021.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.021.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.22">3.22. ImportError: No module named string, on MS Windows.</A></H2>
-Most likely, your PYTHONPATH environment variable should be set to
-something like:
-<P>
-set PYTHONPATH=c:\python;c:\python\lib;c:\python\scripts
-<P>
-(assuming Python was installed in c:\python)
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.022.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.022.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.23">3.23. Core dump on SGI when using the gl module.</A></H2>
-There are conflicts between entry points in the termcap and curses
-libraries and an entry point in the GL library.  There's a hack of a
-fix for the termcap library if it's needed for the GNU readline
-library, but it doesn't work when you're using curses.  Concluding,
-you can't build a Python binary containing both the curses and gl
-modules.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.023.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.023.htp">Log info</A>
-<P>
-
-<HR>
-<H2><A NAME="3.24">3.24. &quot;Initializer not a constant&quot; while building DLL on MS-Windows</A></H2>
-Static type object initializers in extension modules may cause compiles to
-fail with an error message like "initializer not a constant".  
-Fredrik Lundh &lt;<A HREF="mailto:Fredrik.Lundh@image.combitech.se">Fredrik.Lundh@image.combitech.se</A>&gt; explains:
-<P>
-This shows up when building DLL under MSVC.  There's two ways to
-address this: either compile the module as C++, or change your code to
-something like:
-<P>
-<PRE>
-  statichere PyTypeObject bstreamtype = {
-      PyObject_HEAD_INIT(NULL) /* must be set by init function */
-      0,
-      "bstream",
-      sizeof(bstreamobject),
-</PRE>
-<PRE>
-  ...
-</PRE>
-<PRE>
-  void
-  initbstream()
-  {
-      /* Patch object type */
-      bstreamtype.ob_type = &amp;PyType_Type;
-      Py_InitModule("bstream", functions);
-      ...
-  }
-</PRE>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.024.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.024.htp">Log info</A>
-
-/ Last changed on Sun May 25 14:58:05 1997 by
-<A HREF="mailto:aaron_watters@msn.com">Aaron Watters</A>
-<P>
-
-<HR>
-<H2><A NAME="3.25">3.25. Output directed to a pipe or file disappears on Linux.</A></H2>
-Some people have reported that when they run their script
-interactively, it runs great, but that when they redirect it
-to a pipe or file, no output appears.
-<P>
-<PRE>
-    % python script.py
-    ...some output...
-    % python script.py >file
-    % cat file
-    % # no output
-    % python script.py | cat
-    % # no output
-    %
-</PRE>
-This was a bug in Linux kernel. It is fixed and should not appear anymore. So most Linux users are <I>not</I> affected by this.
-<P>
-If redirection doesn't work on your Linux system, check what shell you are using. Shells like (t)csh doesn't support redirection.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.025.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.025.htp">Log info</A>
-
-/ Last changed on Thu Jan 16 13:38:30 2003 by
-<A HREF="mailto:kubieziel@gmx.de">Jens Kubieziel</A>
-<P>
-
-<HR>
-<H2><A NAME="3.26">3.26. [deleted]</A></H2>
-[ancient libc/linux problem was here]
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.026.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.026.htp">Log info</A>
-
-/ Last changed on Mon Jun  3 16:48:08 2002 by
-<A HREF="mailto:erno-pyfaq@erno.iki.fi">Erno Kuusela</A>
-<P>
-
-<HR>
-<H2><A NAME="3.27">3.27. [deleted]</A></H2>
-[ancient linux + threads + tk problem was described here]
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.027.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.027.htp">Log info</A>
-
-/ Last changed on Mon Jun  3 16:49:08 2002 by
-<A HREF="mailto:erno-pyfaq@erno.iki.fi">Erno Kuusela</A>
-<P>
-
-<HR>
-<H2><A NAME="3.28">3.28. How can I test if Tkinter is working?</A></H2>
-Try the following:
-<P>
-<PRE>
-  python
-  >>> import _tkinter
-  >>> import Tkinter
-  >>> Tkinter._test()
-</PRE>
-This should pop up a window with two buttons,
-one "Click me" and one "Quit".
-<P>
-If the first statement (import _tkinter) fails, your Python
-installation probably has not been configured to support Tcl/Tk.
-On Unix, if you have installed Tcl/Tk, you have to rebuild Python
-after editing the Modules/Setup file to enable the _tkinter module
-and the TKPATH environment variable.
-<P>
-It is also possible to get complaints about Tcl/Tk version
-number mismatches or missing TCL_LIBRARY or TK_LIBRARY
-environment variables.  These have to do with Tcl/Tk installation
-problems.
-<P>
-A common problem is to have installed versions of tcl.h and tk.h
-that don't match the installed version of the Tcl/Tk libraries;
-this usually results in linker errors or (when using dynamic
-loading) complaints about missing symbols during loading
-the shared library.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.028.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.028.htp">Log info</A>
-
-/ Last changed on Thu Aug 28 17:01:46 1997 by
-<A HREF="mailto:guido@python.org">Guido van Rossum</A>
-<P>
-
-<HR>
-<H2><A NAME="3.29">3.29. Is there a way to get the interactive mode of the python interpreter to perform function/variable name completion?</A></H2>
-(From a posting by Guido van Rossum)
-<P>
-On Unix, if you have enabled the readline module (i.e. if Emacs-style
-command line editing and bash-style history works for you), you can
-add this by importing the undocumented standard library module
-"rlcompleter".  When completing a simple identifier, it
-completes keywords, built-ins and globals in __main__; when completing
-NAME.NAME..., it evaluates (!) the expression up to the last dot and
-completes its attributes.
-<P>
-This way, you can do "import string", type "string.", hit the
-completion key twice, and see the list of names defined by the
-string module.
-<P>
-Tip: to use the tab key as the completion key, call
-<P>
-<PRE>
-    readline.parse_and_bind("tab: complete")
-</PRE>
-You can put this in a ~/.pythonrc file, and set the PYTHONSTARTUP
-environment variable to ~/.pythonrc.  This will cause the completion to be enabled
-whenever you run Python interactively.  
-<P>
-Notes (see the docstring for rlcompleter.py for more information):
-<P>
-* The evaluation of the NAME.NAME... form may cause arbitrary 
-application defined code to be executed if an object with a
-__getattr__ hook is found.  Since it is the responsibility of the
-application (or the user) to enable this feature, I consider this an
-acceptable risk.  More complicated expressions (e.g. function calls or
-indexing operations) are <I>not</I> evaluated.
-<P>
-* GNU readline is also used by the built-in functions input() and
-raw_input(), and thus these also benefit/suffer from the complete
-features.  Clearly an interactive application can benefit by
-specifying its own completer function and using raw_input() for all
-its input.
-<P>
-* When stdin is not a tty device, GNU readline is never
-used, and this module (and the readline module) are silently inactive.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.029.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.029.htp">Log info</A>
-
-/ Last changed on Fri Jun 12 09:55:24 1998 by
-<A HREF="mailto:akuchlin@cnri.reston.va.us">A.M. Kuchling</A>
-<P>
-
-<HR>
-<H2><A NAME="3.30">3.30. Why is the Python interpreter not built as a shared library?</A></H2>
-(This is a Unix question; on Mac and Windows, it <I>is</I> a shared
-library.)
-<P>
-It's just a nightmare to get this to work on all different platforms.
-Shared library portability is a pain.  And yes, I know about GNU libtool
--- but it requires me to use its conventions for filenames etc, and it 
-would require a complete and utter rewrite of all the makefile and
-config tools I'm currently using.
-<P>
-In practice, few applications embed Python -- it's much more common to
-have Python extensions, which already are shared libraries.  Also,
-serious embedders often want total control over which Python version
-and configuration they use so they wouldn't want to use a standard
-shared library anyway.  So while the motivation of saving space
-when lots of apps embed Python is nice in theory, I
-doubt that it will save much in practice.  (Hence the low priority I
-give to making a shared library.)
-<P>
-For Linux systems, the simplest method of producing libpython1.5.so seems to 
-be (originally from the Minotaur project web page,  
-<A HREF="http://www.equi4.com/minotaur/minotaur.html">http://www.equi4.com/minotaur/minotaur.html</A>): 
-<P>
-<PRE>
-  make distclean 
-  ./configure 
-  make OPT="-fpic -O2" 
-  mkdir .extract 
-  (cd .extract; ar xv ../libpython1.5.a) 
-  gcc -shared -o libpython1.5.so .extract/*.o 
-  rm -rf .extract
-</PRE>
-In Python 2.3 this will be supported by the standard build routine
-(at least on Linux) with --enable-shared.  Note however that there
-is little advantage, and it slows down Python because of the need
-for PIC code and the extra cost at startup time to find the library.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.030.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.030.htp">Log info</A>
-
-/ Last changed on Thu May 30 13:36:55 2002 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="3.31">3.31. Build with GCC on Solaris 2.6 (SunOS 5.6) fails</A></H2>
-If you have upgraded Solaris 2.5 or 2.5.1 to Solaris 2.6,
-but you have not upgraded
-your GCC installation, the compile may fail, e.g. like this:
-<P>
-<PRE>
- In file included from /usr/include/sys/stream.h:26,
-                  from /usr/include/netinet/in.h:38,
-                  from /usr/include/netdb.h:96,
-                  from ./socketmodule.c:121:
- /usr/include/sys/model.h:32: #error "No DATAMODEL_NATIVE specified"
-</PRE>
-Solution: rebuild GCC for Solaris 2.6. 
-You might be able to simply re-run fixincludes, but
-people have had mixed success with doing that.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.031.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.031.htp">Log info</A>
-
-/ Last changed on Wed Oct 21 11:18:46 1998 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="3.32">3.32. Running &quot;make clean&quot; seems to leave problematic files that cause subsequent builds to fail.</A></H2>
-Use "make clobber" instead.  
-<P>
-Use "make clean" to reduce the size of the source/build directory
-after you're happy with your build and installation.
-If you have already tried to build python and you'd like to start 
-over, you should use "make clobber".  It does a "make clean" and also 
-removes files such as the partially built Python library from a previous build.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.032.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.032.htp">Log info</A>
-
-/ Last changed on Thu Jun 24 20:39:26 1999 by
-<A HREF="mailto:tbryan@python.net">TAB</A>
-<P>
-
-<HR>
-<H2><A NAME="3.33">3.33. Submitting bug reports and patches</A></H2>
-To report a bug or submit a patch, please use the relevant service
-from the Python project at SourceForge.
-<P>
-Bugs: <A HREF="http://sourceforge.net/tracker/?group_id=5470&amp;atid=105470">http://sourceforge.net/tracker/?group_id=5470&amp;atid=105470</A>
-<P>
-Patches: <A HREF="http://sourceforge.net/tracker/?group_id=5470&amp;atid=305470">http://sourceforge.net/tracker/?group_id=5470&amp;atid=305470</A>
-<P>
-If you have a SourceForge account, please log in before submitting your bug report; this will make it easier for us to contact you regarding your report in the event we have follow-up questions.  It will also enable SourceForge to send you update information as we act on your bug.  If you do not have a SourceForge account, please consider leaving your name and email address as part of the report.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.033.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.033.htp">Log info</A>
-
-/ Last changed on Fri Apr 27 10:58:26 2001 by
-<A HREF="mailto:fdrake@acm.org">Fred Drake</A>
-<P>
-
-<HR>
-<H2><A NAME="3.34">3.34. I can't load shared libraries under Python 1.5.2, Solaris 7, and gcc 2.95.2</A></H2>
-When trying to load shared libraries, you may see errors like:
-ImportError: ld.so.1: python: fatal: relocation error: file /usr/local/lib/python1.5/site-packages/Perp/util/du_SweepUtilc.so:
-<PRE>
- symbol PyExc_RuntimeError: referenced symbol not found
-</PRE>
-<P>
-There is a problem with the configure script for Python 1.5.2
-under Solaris 7 with gcc 2.95 .  configure should set the make variable
-LINKFORSHARED=-Xlinker -export-dynamic
-<P>
-<P>
-in Modules/Makefile, 
-<P>
-Manually add this line to the Modules/Makefile.
-This builds a Python executable that can load shared library extensions (xxx.so) .
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.034.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.034.htp">Log info</A>
-
-/ Last changed on Mon Feb 19 10:37:05 2001 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="3.35">3.35. In the regression test, test___all__ fails for the profile module. What's wrong?</A></H2>
-If you have been using the profile module, and have properly calibrated a copy of the module as described in the documentation for the profiler:
-<P>
-<A HREF="http://www.python.org/doc/current/lib/profile-calibration.html">http://www.python.org/doc/current/lib/profile-calibration.html</A>
-<P>
-then it is possible that the regression test "test___all__" will fail if you run the regression test manually rather than using "make test" in the Python source directory.  This will happen if you have set your PYTHONPATH environment variable to include the directory containing your calibrated profile module.  You have probably calibrated the profiler using an older version of the profile module which does not define the __all__ value, added to the module as of Python 2.1.
-<P>
-The problem can be fixed by removing the old calibrated version of the profile module and using the latest version to do a fresh calibration. In general, you will need to re-calibrate for each version of Python anyway, since the performance characteristics can change in subtle ways that impact profiling.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.035.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.035.htp">Log info</A>
-
-/ Last changed on Fri Apr 27 10:44:10 2001 by
-<A HREF="mailto:fdrake@acm.org">Fred Drake</A>
-<P>
-
-<HR>
-<H2><A NAME="3.36">3.36. relocations remain against allocatable but non-writable sections</A></H2>
-This linker error occurs on Solaris if you attempt to build an extension module which incorporates position-dependent (non-PIC) code. A common source of problems is that a static library (.a file), such as libreadline.a or libcrypto.a is linked with the extension module. The error specifically occurs when using gcc as the compiler, but /usr/ccs/bin/ld as the linker.
-<P>
-The following solutions and work-arounds are known:
-<P>
-1. Rebuild the libraries (libreadline, libcrypto) with -fPIC (-KPIC if using the system compiler). This is recommended; all object files in a shared library should be position-independent.
-<P>
-2. Statically link the extension module and its libraries into the Python interpreter, by editing Modules/Setup.
-<P>
-3. Use GNU ld instead of /usr/ccs/bin/ld; GNU ld will accept non-PIC code in shared libraries (and mark the section writable)
-<P>
-4. Pass -mimpure-text to GCC when linking the module. This will force gcc to not pass -z text to ld; in turn, ld will make all text sections writable.
-<P>
-Options 3 and 4 are not recommended, since the ability to share code across processes is lost.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq03.036.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq03.036.htp">Log info</A>
-
-/ Last changed on Tue Jan 29 12:05:11 2002 by
-<A HREF="mailto:loewis@informatik.hu-berlin.de">Martin v. L�wis</A>
-<P>
-
-<HR>
-<H1>4. Programming in Python</H1>
-
-<HR>
-<H2><A NAME="4.1">4.1. Is there a source code level debugger with breakpoints, step, etc.?</A></H2>
-Yes.  
-<P>
-Module pdb is a rudimentary but adequate console-mode debugger for Python. It is part of the standard Python library, and is documented in the Library Reference Manual. (You can also write your own debugger by using the code for pdb as an example.)
-<P>
-The IDLE interactive development environment, which is part of the standard Python distribution (normally available in Tools/idle), includes a graphical debugger.  There is documentation for the IDLE debugger at <A HREF="http://www.python.org/idle/doc/idle2.html#Debugger">http://www.python.org/idle/doc/idle2.html#Debugger</A>
-<P>
-Pythonwin is a Python IDE that includes a GUI debugger based on bdb.  The Pythonwin debugger colors breakpoints and has quite a few cool features (including debugging non-Pythonwin programs).  A reference can be found at <A HREF="http://www.python.org/ftp/python/pythonwin/pwindex.html">http://www.python.org/ftp/python/pythonwin/pwindex.html</A>
-More recent versions of PythonWin are available as a part of the ActivePython distribution (see   <A HREF="http://www.activestate.com/Products/ActivePython/index.html">http://www.activestate.com/Products/ActivePython/index.html</A>).
-<P>
-Pydb is a version of the standard Python debugger pdb, modified for use with DDD (Data Display Debugger), a popular graphical debugger front end.  Pydb can be found at  <A HREF="http://packages.debian.org/unstable/devel/pydb.html">http://packages.debian.org/unstable/devel/pydb.html</A>
-and DDD can be found at <A HREF="http://www.gnu.org/software/ddd">http://www.gnu.org/software/ddd</A>/
-<P>
-There are a number of commmercial Python IDEs that include graphical debuggers.  They include:
-<P>
-<PRE>
- * Wing IDE (<A HREF="http://wingide.com">http://wingide.com</A>/) 
- * Komodo IDE (<A HREF="http://www.activestate.com/Products/Komodo">http://www.activestate.com/Products/Komodo</A>/)
-</PRE>
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq04.001.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq04.001.htp">Log info</A>
-
-/ Last changed on Tue Jan 28 01:43:41 2003 by
-<A HREF="mailto:steve@ferg.org">Stephen Ferg</A>
-<P>
-
-<HR>
-<H2><A NAME="4.2">4.2. Can I create an object class with some methods implemented in C and others in Python (e.g. through inheritance)? (Also phrased as: Can I use a built-in type as base class?)</A></H2>
-In Python 2.2, you can inherit from builtin classes such as int, list, dict, etc.
-<P>
-In previous versions of Python, you can easily create a Python class which serves as a wrapper around a built-in object, e.g. (for dictionaries):
-<P>
-<PRE>
-        # A user-defined class behaving almost identical
-        # to a built-in dictionary.
-        class UserDict:
-                def __init__(self): self.data = {}
-                def __repr__(self): return repr(self.data)
-                def __cmp__(self, dict):
-                        if type(dict) == type(self.data):
-                                return cmp(self.data, dict)
-                        else:
-                                return cmp(self.data, dict.data)
-                def __len__(self): return len(self.data)
-                def __getitem__(self, key): return self.data[key]
-                def __setitem__(self, key, item): self.data[key] = item
-                def __delitem__(self, key): del self.data[key]
-                def keys(self): return self.data.keys()
-                def items(self): return self.data.items()
-                def values(self): return self.data.values()
-                def has_key(self, key): return self.data.has_key(key)
-</PRE>
-A2. See Jim Fulton's ExtensionClass for an example of a mechanism
-which allows you to have superclasses which you can inherit from in
-Python -- that way you can have some methods from a C superclass (call
-it a mixin) and some methods from either a Python superclass or your
-subclass.  ExtensionClass is distributed as a part of Zope (see
-<A HREF="http://www.zope.org">http://www.zope.org</A>), but will be phased out with Zope 3, since
-Zope 3 uses Python 2.2 or later which supports direct inheritance
-from built-in types.  Here's a link to the original paper about
-ExtensionClass:
-<A HREF="http://debian.acm.ndsu.nodak.edu/doc/python-extclass/ExtensionClass.html">http://debian.acm.ndsu.nodak.edu/doc/python-extclass/ExtensionClass.html</A>
-<P>
-A3. The Boost Python Library (BPL, <A HREF="http://www.boost.org/libs/python/doc/index.html">http://www.boost.org/libs/python/doc/index.html</A>)
-provides a way of doing this from C++ (i.e. you can inherit from an
-extension class written in C++ using the BPL).
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq04.002.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq04.002.htp">Log info</A>
-
-/ Last changed on Tue May 28 21:09:52 2002 by
-<A HREF="mailto:guido@python.org">GvR</A>
-<P>
-
-<HR>
-<H2><A NAME="4.3">4.3. Is there a curses/termcap package for Python?</A></H2>
-The standard Python source distribution comes with a curses module in
-the Modules/ subdirectory, though it's not compiled by default (note
-that this is not available in the Windows distribution -- there is
-no curses module for Windows).
-<P>
-In Python versions before 2.0 the module only supported plain curses; 
-you couldn't use ncurses features like colors with it (though it would 
-link with ncurses).
-<P>
-In Python 2.0, the curses module has been greatly extended, starting 
-from Oliver Andrich's enhanced version, to provide many additional 
-functions from ncurses and SYSV curses, such as colour, alternative
-character set support, pads, and mouse support. This means the
-module is no longer compatible with operating systems that only
-have BSD curses, but there don't seem to be any currently
-maintained OSes that fall into this category.
-<P>
-
-<A HREF="faqw.py?req=edit&amp;file=faq04.003.htp">Edit this entry</A> /
-<A HREF="faqw.py?req=log&amp;file=faq04.003.htp">Log info</A>
-