A few random updates to make things less horrifyingly out of date.

Delete some advice that can never, ever have worked.

There are a couple of XXX comments for bits I don't know how to
update.  It would be really good not to release Python 2.5 with these
in place :)

This file is way too big.  There's basically no chance of it staying
up to date.
This commit is contained in:
Michael W. Hudson 2005-02-22 15:33:26 +00:00
parent 2b0d058cd5
commit 71dcc3e9b4
1 changed files with 44 additions and 51 deletions

95
README
View File

@ -35,6 +35,7 @@ What's new in this release?
See the file "Misc/NEWS". See the file "Misc/NEWS".
If you don't read instructions If you don't read instructions
------------------------------ ------------------------------
@ -45,30 +46,29 @@ current directory and when it finishes, type "make". This creates an
executable "./python"; to install in /usr/local, first do "su root" executable "./python"; to install in /usr/local, first do "su root"
and then "make install". and then "make install".
The section `Build instructions' below is still recommended reading, The section `Build instructions' below is still recommended reading.
especially the part on customizing Modules/Setup.
What is Python anyway? What is Python anyway?
---------------------- ----------------------
Python is an interpreted object-oriented programming language suitable Python is an interpreted, interactive object-oriented programming
(amongst other uses) for distributed application development, language suitable (amongst other uses) for distributed application
scripting, numeric computing and system testing. Python is often development, scripting, numeric computing and system testing. Python
compared to Tcl, Perl, Java, JavaScript, Visual Basic or Scheme. To is often compared to Tcl, Perl, Java, JavaScript, Visual Basic or
find out more about what Python can do for you, point your browser to Scheme. To find out more about what Python can do for you, point your
http://www.python.org/. browser to http://www.python.org/.
How do I learn Python? How do I learn Python?
---------------------- ----------------------
The official tutorial is still a good place to start; see The official tutorial is still a good place to start; see
http://www.python.org/doc/ for online and downloadable versions, as http://docs.python.org/ for online and downloadable versions, as well
well as a list of other introductions, and reference documentation. as a list of other introductions, and reference documentation.
There's a quickly growing set of books on Python. See There's a quickly growing set of books on Python. See
http://www.python.org/cgi-bin/moinmoin/PythonBooks for a list. www.python.org/moin/PythonBooks for a list.
Documentation Documentation
@ -82,16 +82,17 @@ Python's power is described there, including the built-in data types
and functions! and functions!
All documentation is also available online at the Python web site All documentation is also available online at the Python web site
(http://www.python.org/doc/, see below). It is available online for (http://docs.python.org/, see below). It is available online for
occasional reference, or can be downloaded in many formats for faster occasional reference, or can be downloaded in many formats for faster
access. The documentation is available in HTML, PostScript, PDF, and access. The documentation is available in HTML, PostScript, PDF, and
LaTeX formats; the LaTeX version is primarily for documentation LaTeX formats; the LaTeX version is primarily for documentation
authors, translators, and people with special formatting requirements. authors, translators, and people with special formatting requirements.
The best documentation for the new (in Python 2.2) type/class Unfortunately, new-style classes (new in Python 2.2) have not yet been
unification features is Guido's tutorial introduction, at integrated into Python's standard documention. A collection of
pointers to what has been written is at:
http://www.python.org/2.2.1/descrintro.html http://www.python.org/doc/newstyle.html
Web sites Web sites
@ -110,12 +111,12 @@ Newsgroups and Mailing Lists
Read comp.lang.python, a high-volume discussion newsgroup about Read comp.lang.python, a high-volume discussion newsgroup about
Python, or comp.lang.python.announce, a low-volume moderated newsgroup Python, or comp.lang.python.announce, a low-volume moderated newsgroup
for Python-related announcements. These are also accessible as for Python-related announcements. These are also accessible as
mailing lists: see http://www.python.org/psa/MailingLists.html for an mailing lists: see http://www.python.org/community/lists.html for an
overview of the many Python-related mailing lists. overview of these and many other Python-related mailing lists.
Archives are accessible via the Google Groups usenet archive; see Archives are accessible via the Google Groups usenet archive; see
http://groups.google.com/. The mailing lists are also archived, see http://groups.google.com/. The mailing lists are also archived, see
http://www.python.org/psa/MailingLists.html for details. http://www.python.org/community/lists.html for details.
Bug reports Bug reports
@ -135,7 +136,7 @@ for patch submission may be found at http://www.python.org/patches/.
If you have a proposal to change Python, it's best to submit a Python If you have a proposal to change Python, it's best to submit a Python
Enhancement Proposal (PEP) first. All current PEPs, as well as Enhancement Proposal (PEP) first. All current PEPs, as well as
guidelines for submitting a new PEP, are listed at guidelines for submitting a new PEP, are listed at
http://python.sourceforge.net/peps/. http://www.python.org/peps/.
Questions Questions
@ -189,10 +190,9 @@ Troubleshooting
See also the platform specific notes in the next section. See also the platform specific notes in the next section.
If you run into other trouble, see section 3 of the FAQ If you run into other trouble, see the FAQ
(http://www.python.org/cgi-bin/faqw.py or (http://www.python.org/doc/faq) for hints on what can go wrong, and
http://www.python.org/doc/FAQ.html) for hints on what can go wrong, how to fix it.
and how to fix it.
If you rerun the configure script with different options, remove all If you rerun the configure script with different options, remove all
object files by running "make clean" before rebuilding. Believe it or object files by running "make clean" before rebuilding. Believe it or
@ -200,8 +200,7 @@ not, "make clean" sometimes helps to clean up other inexplicable
problems as well. Try it before sending in a bug report! problems as well. Try it before sending in a bug report!
If the configure script fails or doesn't seem to find things that If the configure script fails or doesn't seem to find things that
should be there, inspect the config.log file. When you fix a should be there, inspect the config.log file.
configure problem, be sure to remove config.cache!
If you get a warning for every file about the -Olimit option being no If you get a warning for every file about the -Olimit option being no
longer supported, you can ignore it. There's no foolproof way to know longer supported, you can ignore it. There's no foolproof way to know
@ -227,8 +226,10 @@ compilers from the vendor, or one of the free compilers (gcc).
Unsupported systems Unsupported systems
------------------- -------------------
XXX This section is out of date!
A number of features are not supported in Python 2.3 anymore. Some A number of features are not supported in Python 2.3 anymore. Some
support code is still present, but will be removed in Python 2.4. support code is still present, but will be removed in Python 2.4.
If you still need to use current Python versions on these systems, If you still need to use current Python versions on these systems,
please send a message to python-dev@python.org indicating that you please send a message to python-dev@python.org indicating that you
volunteer to support this system. volunteer to support this system.
@ -263,12 +264,9 @@ Unix platforms: If your vendor still ships (and you still use) Berkeley DB
bsddb185 bsddbmodule.c bsddb185 bsddbmodule.c
should work. (You may need to add -I, -L or -l flags to direct the should work. (You may need to add -I, -L or -l flags to direct the
compiler and linker to your include files and libraries.) You can compiler and linker to your include files and libraries.)
then force it to be the version people import by adding
import bsddb185 as bsddb XXX I think this next bit is out of date:
in sitecustomize.py.
64-bit platforms: The modules audioop, imageop and rgbimg don't work. 64-bit platforms: The modules audioop, imageop and rgbimg don't work.
The setup.py script disables them on 64-bit installations. The setup.py script disables them on 64-bit installations.
@ -295,8 +293,8 @@ Solaris: When using Sun's C compiler with threads, at least on Solaris
When the dynamic loader complains about errors finding shared When the dynamic loader complains about errors finding shared
libraries, such as libraries, such as
ld.so.1: ./python: fatal: libstdc++.so.5: open failed: ld.so.1: ./python: fatal: libstdc++.so.5: open failed:
No such file or directory No such file or directory
you need to first make sure that the library is available on you need to first make sure that the library is available on
your system. Then, you need to instruct the dynamic loader how your system. Then, you need to instruct the dynamic loader how
@ -314,13 +312,9 @@ Linux: A problem with threads and fork() was tracked down to a bug in
solves the problem. This causes the popen2 test to fail; solves the problem. This causes the popen2 test to fail;
problem and solution reported by Pablo Bleyer. problem and solution reported by Pablo Bleyer.
Under Linux systems using GNU libc 2 (aka libc6), the crypt
module now needs the -lcrypt option. The setup.py script
takes care of this automatically.
Red Hat Linux: Red Hat 9 built Python2.2 in UCS-4 mode and hacked Red Hat Linux: Red Hat 9 built Python2.2 in UCS-4 mode and hacked
Tcl to support it. To compile Python2.3 with Tkinter, you will Tcl to support it. To compile Python2.3 with Tkinter, you will
need to pass --enable-unicode=ucs4 flag to ./configure. need to pass --enable-unicode=ucs4 flag to ./configure.
There's an executable /usr/bin/python which is Python There's an executable /usr/bin/python which is Python
1.5.2 on most older Red Hat installations; several key Red Hat tools 1.5.2 on most older Red Hat installations; several key Red Hat tools
@ -367,13 +361,13 @@ HP-UX: When using threading, you may have to add -D_REENTRANT to the
OPT variable in the top-level Makefile; reported by Pat Knight, OPT variable in the top-level Makefile; reported by Pat Knight,
this seems to make a difference (at least for HP-UX 10.20) this seems to make a difference (at least for HP-UX 10.20)
even though pyconfig.h defines it. This seems unnecessary when even though pyconfig.h defines it. This seems unnecessary when
using HP/UX 11 and later - threading seems to work "out of the using HP/UX 11 and later - threading seems to work "out of the
box". box".
HP-UX ia64: When building on the ia64 (Itanium) platform using HP's HP-UX ia64: When building on the ia64 (Itanium) platform using HP's
compiler, some experience has shown that the compiler's compiler, some experience has shown that the compiler's
optimiser produces a completely broken version of python optimiser produces a completely broken version of python
(see http://www.python.org/sf/814976). To work around this, (see http://www.python.org/sf/814976). To work around this,
edit the Makefile and remove -O from the OPT line. edit the Makefile and remove -O from the OPT line.
HP PA-RISC 2.0: A recent bug report (http://www.python.org/sf/546117) HP PA-RISC 2.0: A recent bug report (http://www.python.org/sf/546117)
@ -541,7 +535,7 @@ MacOSX: The tests will crash on both 10.1 and 10.2 with SEGV in
do "sudo make install" which installs everything as superuser, do "sudo make install" which installs everything as superuser,
as this may later cause problems when installing distutils-based as this may later cause problems when installing distutils-based
additions. additions.
Some people have reported problems building Python after using "fink" Some people have reported problems building Python after using "fink"
to install additional unix software. Disabling fink (remove all references to install additional unix software. Disabling fink (remove all references
to /sw from your .profile or .login) should solve this. to /sw from your .profile or .login) should solve this.
@ -552,7 +546,7 @@ MacOSX: The tests will crash on both 10.1 and 10.2 with SEGV in
/Library/Frameworks). A framework install is probably needed if you /Library/Frameworks). A framework install is probably needed if you
want to use any Aqua-based GUI toolkit (whether Tkinter, wxPython, want to use any Aqua-based GUI toolkit (whether Tkinter, wxPython,
Carbon, Cocoa or anything else). Carbon, Cocoa or anything else).
See Mac/OSX/README for more information on framework builds. See Mac/OSX/README for more information on framework builds.
Cygwin: With recent (relative to the time of writing, 2001-12-19) Cygwin: With recent (relative to the time of writing, 2001-12-19)
@ -767,9 +761,9 @@ Building a shared libpython
--------------------------- ---------------------------
Starting with Python 2.3, the majority of the interpreter can be built Starting with Python 2.3, the majority of the interpreter can be built
into a shared library, which can then be used by the interpreter into a shared library, which can then be used by the interpreter
executable, and by applications embedding Python. To enable this feature, executable, and by applications embedding Python. To enable this feature,
configure with --enable-shared. configure with --enable-shared.
If you enable this feature, the same object files will be used to create If you enable this feature, the same object files will be used to create
a static library. In particular, the static library will contain object a static library. In particular, the static library will contain object
@ -1018,7 +1012,7 @@ Modules/getpath.o.
--with-pydebug: Enable additional debugging code to help track down --with-pydebug: Enable additional debugging code to help track down
memory management problems. This allows printing a list of all memory management problems. This allows printing a list of all
live objects when the interpreter terminates. live objects when the interpreter terminates.
--with(out)-universal-newlines: enable reading of text files with --with(out)-universal-newlines: enable reading of text files with
foreign newline convention (default: enabled). In other words, foreign newline convention (default: enabled). In other words,
any of \r, \n or \r\n is acceptable as end-of-line character. any of \r, \n or \r\n is acceptable as end-of-line character.
@ -1028,6 +1022,7 @@ Modules/getpath.o.
--with-tsc: Profile using the Pentium timestamping counter (TSC). --with-tsc: Profile using the Pentium timestamping counter (TSC).
Building for multiple architectures (using the VPATH feature) Building for multiple architectures (using the VPATH feature)
------------------------------------------------------------- -------------------------------------------------------------
@ -1130,9 +1125,7 @@ higher.
For more Tkinter information, see the Tkinter Resource page: For more Tkinter information, see the Tkinter Resource page:
http://www.python.org/topics/tkinter/ http://www.python.org/topics/tkinter/
There are demos in the Demo/tkinter directory, in the subdirectories There are demos in the Demo/tkinter directory.
guido, matt and www (the matt and guido subdirectories have been
overhauled to use more recent Tkinter coding conventions).
Note that there's a Python module called "Tkinter" (capital T) which Note that there's a Python module called "Tkinter" (capital T) which
lives in Lib/lib-tk/Tkinter.py, and a C module called "_tkinter" lives in Lib/lib-tk/Tkinter.py, and a C module called "_tkinter"