@@ -3,12 +3,14 @@ Newsgroups: comp.lang.python,comp.answers,news.answers
33Followup-to: comp.lang.python
44From:
[email protected] (Guido van Rossum)
55Reply-to:
[email protected] (Guido van Rossum)
6+ Expires: Sat, 1 Apr 1995 00:00:00 GMT
7+ 6879
810Archive-name: python-faq/part1
911Submitted-by: Guido van Rossum <
[email protected] >
10- Version: 1.20
11- Last-modified: 7 Februari 1995
12+ Version: 1.20++
13+ Last-modified: 16 Februari 1995
1214
1315This article contains answers to Frequently Asked Questions about
1416Python (an object-oriented interpreted programming language -- see
@@ -67,12 +69,14 @@ Here's an overview of the questions per chapter:
6769 1.5. Q. Are there other ftp sites that mirror the Python distribution?
6870 1.6. Q. Is there a newsgroup or mailing list devoted to Python?
6971 1.7. Q. Is there a WWW page devoted to Python?
70- 1.8. Q. Is there a book on Python, or will there be one out soon?
71- 1.9. Q. Are there any published articles about Python that I can quote?
72- 1.10. Q. Are there short introductory papers or talks on Python?
73- 1.11. Q. How does the Python version numbering scheme work?
74- 1.12. Q. Are there other ftp sites that carry Python related material?
75- 1.13. Q. Are there copyright restrictions on the use of Python?
72+ 1.8. Q. Is the Python documentation available on the WWW?
73+ 1.9. Q. Is there a book on Python, or will there be one out soon?
74+ 1.10. Q. Are there any published articles about Python that I can quote?
75+ 1.11. Q. Are there short introductory papers or talks on Python?
76+ 1.12. Q. How does the Python version numbering scheme work?
77+ 1.13. Q. How do I get a beta test version of Python?
78+ 1.14. Q. Are there other ftp sites that carry Python related material?
79+ 1.15. Q. Are there copyright restrictions on the use of Python?
7680
7781 2. Python in the real world
7882 2.1. Q. How many people are using Python?
@@ -266,15 +270,17 @@ HTML version of the index can be found in the file index.html,
266270
2672711.4. Q. How do I get documentation on Python?
268272
269- A. The latest Python documentation set is always available by
270- anonymous ftp, e.g.
273+ A. The LaTeX source for the documentation is part of the source
274+ distribution. If you don't have LaTeX, the latest Python
275+ documentation set is always available by anonymous ftp, e.g.
271276<URL:ftp://ftp.cwi.nl/pub/python/pythondoc-ps1.1.tar.gz>. It is a
272277gzipped tar file containing PostScript files of the reference manual,
273278the library manual, and the tutorial. Note that the library manual is
274279the most important one of the set, as much of Python's power stems
275280from the standard or built-in types, functions and modules, all of
276281which are described here. PostScript for a high-level description of
277- Python is in the file nluug-paper.ps.
282+ Python is in the file nluug-paper.ps (a separate file on the ftp
283+ site).
278284
2792851.5. Q. Are there other ftp sites that mirror the Python distribution?
280286
@@ -310,17 +316,35 @@ MH, you could use "inc -file file".
310316
3113171.7. Q. Is there a WWW page devoted to Python?
312318
313- A. The official Python home page is
314- <URL:http://www.cwi.nl/~guido/Python.html>. Michael McLay at NIST
315- maintains a Python page at <URL:http://www.eeel.nist.gov/python/>.
319+ A. Yes, <URL:http://www.cwi.nl/~guido/Python.html> is the official
320+ Python home page. Michael McLay at NIST maintains a Python page at
321+ <URL:http://www.eeel.nist.gov/python/>. And finally the emerging
322+ Python Software Association has a preliminary web server at
323+ <URL:http://www.cminds.com/python/> (eventually to be moved to
324+ somewhere under python.org).
316325
317- 1.8. Q. Is there a book on Python, or will there be one out soon ?
326+ 1.8. Q. Is the Python documentation available on the WWW ?
318327
319- A. I am writing one. Addison-Wesley is interested. Optimistically,
320- it will be ready for the press by mid-1995. Mark Lutz is working on
321- one too -- more details as they emerge .
328+ A. Yes, see <URL:http://www.cwi.nl/~guido/Python.html> (Python's home
329+ page). It contains pointers to hypertext versions of the whole
330+ documentation set (as hypertext, not just PostScript) .
322331
323- 1.9. Q. Are there any published articles about Python that I can quote?
332+ If you wish to browse this collection of HTML files on your own
333+ machine, it is available bundled up by anonymous ftp,
334+ e.g. <URL:ftp://ftp.cwi.nl/pub/python/python-html.tar.gz>. (This
335+ requires some manual patch-up for the references to images,
336+ unfortunately.)
337+
338+ An Emacs-INFO set containing the library manual is also available by
339+ ftp, e.g. <URL:ftp://ftp.cwi.nl/pub/python/python-lin-info.tar.gz>.
340+
341+ 1.9. Q. Is there a book on Python, or will there be one out soon?
342+
343+ A. I am writing one. Publishers are interested. Optimistically, it
344+ will be ready for the press by mid-1995. Mark Lutz is working on one
345+ too -- more details as they emerge.
346+
347+ 1.10. Q. Are there any published articles about Python that I can quote?
324348
325349A. So far the only refereed and published article that describes
326350Python in some detail is:
@@ -332,7 +356,7 @@ Python in some detail is:
332356LaTeX source for this paper is available as part of the Python source
333357distribution.
334358
335- 1.10 . Q. Are there short introductory papers or talks on Python?
359+ 1.11 . Q. Are there short introductory papers or talks on Python?
336360
337361A. A recent high-level description of Python is:
338362
@@ -349,7 +373,7 @@ Slides for a talk on Python that I gave at the Usenix Symposium on
349373Very High Level Languages in Santa Fe, NM, USA in October 1995 are
350374available as <URL:ftp://ftp.cwi.nl/pub/python/vhll-slides.ps>.
351375
352- 1.11 . Q. How does the Python version numbering scheme work?
376+ 1.12 . Q. How does the Python version numbering scheme work?
353377
354378A. Python versions are numbered A.B.C. A is the major version number
355379-- it is only incremented for major changes in functionality or source
@@ -359,7 +383,18 @@ incremented for each new release. Note that in the past, patches have
359383added significant changes; in fact the changeover from 0.9.9 to 1.0.0
360384was the first time that either A or B changed!
361385
362- 1.12. Q. Are there other ftp sites that carry Python related material?
386+ Beta versions have an additional suffix of "-beta-N" for some small
387+ number N. Note that (for instance) all versions labeled 1.2-beta-N
388+ *precede* the actual release of 1.2.
389+
390+ 1.13. Q. How do I get a beta test version of Python?
391+
392+ A. Write me. I might like you :-) Seriously, anybody who has
393+ previously used and installed Python can become a beta tester, but I
394+ expect feedback, so you have to write me first before I divulge the
395+ secret location of the latest beta release.
396+
397+ 1.14. Q. Are there other ftp sites that carry Python related material?
363398
364399A. An interesting ftp site for Python users is ftp.markv.com; the
365400directory pub/python contains a growing collection of interesting
@@ -370,7 +405,7 @@ extension .readme) in the publicly writable directory
370405<
[email protected] >. (I've heard complaints about this service not
371406being very responsive -- try at your own risk.)
372407
373- 1.13 . Q. Are there copyright restrictions on the use of Python?
408+ 1.15 . Q. Are there copyright restrictions on the use of Python?
374409
375410A. Hardly. You can do anything you want with the source, as long as
376411you leave the copyrights in, and display those copyrights in any
@@ -456,10 +491,10 @@ in the early stages of development, in fact new, stable releases
456491
4574922.5. Q. When will the next version be released?
458493
459- A. I am planning to release 1.2 in January 1995. It will contain
460- hooks into the implementation of the import command, a (still limited)
461- form of persistent objects, and the usual complement of bug fixes
462- (including many fixed memory leaks and thread problems).
494+ A. I am planning to release 1.2 in February or early March 1995. It
495+ will contain hooks into the implementation of the import command, a
496+ (still limited) form of persistent objects, and the usual complement
497+ of bug fixes (including many fixed memory leaks and thread problems).
463498
4644992.6. Q. What new developments are expected for Python in the future?
465500
@@ -582,14 +617,12 @@ toplevel).
582617
5836183.8. Q. Python built with gcc for the DEC Alpha doesn't work.
584619
585- People have reported problems with gcc 2.5.8 up to 2.6.2. The
586- DEC OSF/1 cc compiler does not have these problems so it's probably
587- gcc's fault. The latest news is that the problem still exists but
588- only when you use -O and only in the Modules subdirectory. So one
589- solution is to compile everything except Modules with gcc -O and then
590- do the Modules directory with gcc without -O. If you find a version
591- of gcc which doesn't have this bug or if you can reduce it further to
592- a particular file, please let me know.
620+ People have reported problems with gcc 2.5.8 up to 2.6.3. The DEC
621+ OSF/1 cc compiler does not have these problems so it's likely a gcc
622+ bug. The latest news is that (at least in the 1.2 beta release) the
623+ problem still exists but only when you use -O, and only affects the
624+ code generated from Python/marshal.c. A fix is to change "long i, n;"
625+ into "int i, n;" in w_object().
593626
5946273.9. Q. I use VPATH but some targets are built in the source directory.
595628
@@ -642,23 +675,30 @@ here but I've been told that it is the place for readline bugs.)
642675
6436763.11. Q. Trouble building Python on Linux.
644677
645- A. (Adapted from Bennet Todd:)
678+ A. In 1.1 and 1.1.1, there's a bug in the reference counting logic of
679+ ternary pow() which is only tripped by very picky mallocs, like the
680+ GNU malloc on Linux. This has been fixed in 1.2. To continue the
681+ tests, just disable the tests of pow() with three arguments from
682+ Lib/test/test_b2.py.
646683
647- It seems to work for some people but not for others.
684+ Apart from this, Python builds and runs fine on most Linux versions.
685+ Bennet Todd has this to say on the subject:
648686
649- This might depend on which Linux release you're using. Older Linux
650- releases had (understandably) fewer gracious hack to improve Unix
651- compatibility; really old Linux was Posix 1003.1 compatible, without
652- nearly as much Unix compatibility as one might have wished. Current
653- releases of Linux build most current free software, either BSD or
654- System V, with little or no trouble.
687+ It seems to work for some people but not for others.
655688
656- Besides that, there are quite a few different releases currently,
657- including MCC, Slackware, SLS, and Debian, and probably more. The
658- differences between their compilation environments are far smaller
659- than they used to be, but they're still updated with different
660- frequencies. It's likely that the current Slackware works fine, as it
661- currently seems to be the most popular. But that's just a guess.
689+ This might depend on which Linux release you're using. Older Linux
690+ releases had (understandably) fewer gracious hack to improve Unix
691+ compatibility; really old Linux was Posix 1003.1 compatible, without
692+ nearly as much Unix compatibility as one might have wished. Current
693+ releases of Linux build most current free software, either BSD or
694+ System V, with little or no trouble.
695+
696+ Besides that, there are quite a few different releases currently,
697+ including MCC, Slackware, SLS, and Debian, and probably more. The
698+ differences between their compilation environments are far smaller
699+ than they used to be, but they're still updated with different
700+ frequencies. It's likely that the current Slackware works fine, as
701+ it currently seems to be the most popular. But that's just a guess.
662702
6637033.12. Q. Trouble with prototypes on Ultrix.
664704
@@ -693,11 +733,17 @@ A. (Thanks to Andrew Kuchling):
693733Linux requires that you use the GNU DLD library. The stages of using
694734dynamic libraries on Linux are:
695735
696- 1) Get dld from [some -- see below] Linux site. I believe the version
697- number is 3.2.4. Be careful here; the most recent GNU version is
698- 3.2.3, and doesn't support Linux; be sure to get it from a Linux
699- mirror, not a GNU mirror. Compile it and install the library libdld.a
700- somewhere; I used /usr/local/lib.
736+ 1) Get dld 3.2.5 from a Linux site. Be careful here; the most recent
737+ GNU version is 3.2.3, and doesn't support Linux; be sure to get it
738+ from a Linux mirror, not a GNU mirror (3.2.4 should also work).
739+ Compile it and install the library libdld.a somewhere; I used
740+ /usr/local/lib.
741+
742+ Suitable URLs for the dld distribution are currently:
743+ <URL:ftp://sunsite.unc.edu/pub/Linux/libs/dld-3.2.5.src.tar.gz> and
744+ <URL:ftp://tsx-11.mit.edu/pub/linux/sources/libs/dld-3.2.5.src.tar.gz>.
745+ There's also a binary distribution of it:
746+ <URL:ftp://sunsite.unc.edu/pub/Linux/libs/dld-3.2.5.bin.tar.gz>.
701747
7027482) Get Jack Jansen's DL library; its location is given in the
703749_Extending Python_ manual as ftp://ftp.cwi.nl/pub/dynload/. Compile
@@ -709,27 +755,10 @@ libraries.
709755
7107564) Recompile Python.
711757
712- If you run into trouble with this, send me some mail and we can work
713- on the problem.
714-
715- I don't use ELF binaries, because I'd rather wait until everything is
716- reliable; my current impression (and please correct me if I'm wrong)
717- is that gcc-elf is still a bit wonky, and you have to compile the
718- entire GNU library yourself. I'd much rather wait until ELF is a more
719- standard part of Linux distributions. I suspect that once ELF is
720- common, Python's configure script will pick up the dlfcn.h header file
721- and dynamic linking will work automatically. Time will tell,
722- however...
723-
724- It turns out that Linux DLD is not on sunsite.unc.edu; instead it's
725- located at:
726- <URL:ftp://tsx-11.mit.edu/pub/linux/sources/libs/dld-3.2.4.src.tar.gz>
727-
728- tsx-11 has mirrors; off the top of my head, one is ftp.uu.net, where
729- the URL would be:
730- <URL:ftp://ftp.uu.net/systems/unix/linux/sources/libs/dld-3.2.4.src.tar.gz>
731-
732-
758+ Note that once ELF is common in the Linux world, it will be much
759+ easier (probably within a year) -- the standard SVR4-style dlopen()
760+ interface is then available. This has already proved to work
761+ perfectly using a beta version of the ELF-capable GCC for Linux.
733762
734763
7357644. Programming in Python
@@ -1013,6 +1042,19 @@ Athena widget sets. Last I heard about it it was included in the WAFE
101310421.0 prerelease
10141043<URL:ftp://ftp.wu-wien.ac.at/pub/src/X11/wafe/wafe-1.0.tar.gz-prerelease>.
10151044
1045+ - There's an interface to wxWindows. wxWindows is a portable GUI
1046+ class library written in C++. It supports XView, Motif, MS-Windows as
1047+ targets. There is some support for Macs and CURSES as well. wxWindows
1048+ preserves the look and feel of the underlying graphics toolkit. See
1049+ the wxPython WWW page at
1050+ <URL:http://www.aiai.ed.ac.uk/~jacs/wx/wxpython/wxpython.html>.
1051+
1052+ - Python has been mentioned on the "Futurism" subpage of the Fresco
1053+ home page <URL:http://www.faslab.com/fresco/HomePage.html>. "Pesto"
1054+ is a Python interface to the CORBA dynamic invocation interface, and
1055+ thus Fresco. A Pesto prototype is running and is currently being
1056+ packaged up for inclusion in the Fresco snapshot.
1057+
101610584.14. Q. Are there any interfaces to database packages in Python?
10171059
10181060A. There's an interface to SYBASE by John Redford
@@ -1442,14 +1484,16 @@ list, to call a function without arguments, pass "()" for the format,
14421484and to call a function with one argument, surround the argument in
14431485parentheses, e.g. "(i)".
14441486
1487+ (This function and a companion will be available in 1.2 under the
1488+ names PyEval_CallFunction and PyEval_CallMethod.)
1489+
144514905.9. Q. How do I catch the output from print_error()?
14461491
14471492A. (Due to Mark Hammond):
14481493
14491494* in Python code, define an object that supports the "write()" method.
14501495FWIW, there seems to be a small problem that requires the 'softspace'
1451- attribute to be defined too (I can't remember exact details of the
1452- problem).
1496+ attribute to be defined too (fixed in 1.2).
14531497
14541498* redirect sys.stdout and sys.stderr to this object.
14551499
@@ -1502,6 +1546,8 @@ generic copying operation.
15021546
15031547A partial solution will appear in release 1.2. This will also provide
15041548a partial solution to the problem of a generic copying operation.
1549+ (Partial because it still won't cope with open files etc.; however it
1550+ does handle user-defined classes!)
15051551
150615526.3. Q. Why isn't there a switch or case statement in Python?
15071553
0 commit comments