From 71dcc3e9b4b0d4fe25c36e0a8370eae9ab85da56 Mon Sep 17 00:00:00 2001 From: "Michael W. Hudson" Date: Tue, 22 Feb 2005 15:33:26 +0000 Subject: 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. --- README | 95 +++++++++++++++++++++++++++++++----------------------------------- 1 file changed, 44 insertions(+), 51 deletions(-) diff --git a/README b/README index a696738..dedd3bd 100644 --- a/README +++ b/README @@ -35,6 +35,7 @@ What's new in this release? See the file "Misc/NEWS". + 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" and then "make install". -The section `Build instructions' below is still recommended reading, -especially the part on customizing Modules/Setup. +The section `Build instructions' below is still recommended reading. What is Python anyway? ---------------------- -Python is an interpreted object-oriented programming language suitable -(amongst other uses) for distributed application development, -scripting, numeric computing and system testing. Python is often -compared to Tcl, Perl, Java, JavaScript, Visual Basic or Scheme. To -find out more about what Python can do for you, point your browser to -http://www.python.org/. +Python is an interpreted, interactive object-oriented programming +language suitable (amongst other uses) for distributed application +development, scripting, numeric computing and system testing. Python +is often compared to Tcl, Perl, Java, JavaScript, Visual Basic or +Scheme. To find out more about what Python can do for you, point your +browser to http://www.python.org/. How do I learn Python? ---------------------- The official tutorial is still a good place to start; see -http://www.python.org/doc/ for online and downloadable versions, as -well as a list of other introductions, and reference documentation. +http://docs.python.org/ for online and downloadable versions, as well +as a list of other introductions, and reference documentation. 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 @@ -82,16 +82,17 @@ Python's power is described there, including the built-in data types and functions! 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 access. The documentation is available in HTML, PostScript, PDF, and LaTeX formats; the LaTeX version is primarily for documentation authors, translators, and people with special formatting requirements. -The best documentation for the new (in Python 2.2) type/class -unification features is Guido's tutorial introduction, at +Unfortunately, new-style classes (new in Python 2.2) have not yet been +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 @@ -110,12 +111,12 @@ Newsgroups and Mailing Lists Read comp.lang.python, a high-volume discussion newsgroup about Python, or comp.lang.python.announce, a low-volume moderated newsgroup for Python-related announcements. These are also accessible as -mailing lists: see http://www.python.org/psa/MailingLists.html for an -overview of the many Python-related mailing lists. +mailing lists: see http://www.python.org/community/lists.html for an +overview of these and many other Python-related mailing lists. Archives are accessible via the Google Groups usenet archive; 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 @@ -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 Enhancement Proposal (PEP) first. All current PEPs, as well as guidelines for submitting a new PEP, are listed at -http://python.sourceforge.net/peps/. +http://www.python.org/peps/. Questions @@ -189,10 +190,9 @@ Troubleshooting See also the platform specific notes in the next section. -If you run into other trouble, see section 3 of the FAQ -(http://www.python.org/cgi-bin/faqw.py or -http://www.python.org/doc/FAQ.html) for hints on what can go wrong, -and how to fix it. +If you run into other trouble, see the FAQ +(http://www.python.org/doc/faq) for hints on what can go wrong, and +how to fix it. If you rerun the configure script with different options, remove all 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! 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 -configure problem, be sure to remove config.cache! +should be there, inspect the config.log file. 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 @@ -227,8 +226,10 @@ compilers from the vendor, or one of the free compilers (gcc). Unsupported systems ------------------- +XXX This section is out of date! + 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, please send a message to python-dev@python.org indicating that you 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 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 - then force it to be the version people import by adding + compiler and linker to your include files and libraries.) - import bsddb185 as bsddb - - in sitecustomize.py. +XXX I think this next bit is out of date: 64-bit platforms: The modules audioop, imageop and rgbimg don't work. 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 libraries, such as - ld.so.1: ./python: fatal: libstdc++.so.5: open failed: - No such file or directory + ld.so.1: ./python: fatal: libstdc++.so.5: open failed: + No such file or directory you need to first make sure that the library is available on 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; 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 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 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, this seems to make a difference (at least for HP-UX 10.20) 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". -HP-UX ia64: When building on the ia64 (Itanium) platform using HP's - compiler, some experience has shown that the compiler's - optimiser produces a completely broken version of python - (see http://www.python.org/sf/814976). To work around this, +HP-UX ia64: When building on the ia64 (Itanium) platform using HP's + compiler, some experience has shown that the compiler's + optimiser produces a completely broken version of python + (see http://www.python.org/sf/814976). To work around this, 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) @@ -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, as this may later cause problems when installing distutils-based additions. - + Some people have reported problems building Python after using "fink" to install additional unix software. Disabling fink (remove all references 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 want to use any Aqua-based GUI toolkit (whether Tkinter, wxPython, Carbon, Cocoa or anything else). - + See Mac/OSX/README for more information on framework builds. 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 -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, -configure with --enable-shared. +configure with --enable-shared. 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 @@ -1018,7 +1012,7 @@ Modules/getpath.o. --with-pydebug: Enable additional debugging code to help track down memory management problems. This allows printing a list of all live objects when the interpreter terminates. - + --with(out)-universal-newlines: enable reading of text files with foreign newline convention (default: enabled). In other words, 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). + Building for multiple architectures (using the VPATH feature) ------------------------------------------------------------- @@ -1130,9 +1125,7 @@ higher. For more Tkinter information, see the Tkinter Resource page: http://www.python.org/topics/tkinter/ -There are demos in the Demo/tkinter directory, in the subdirectories -guido, matt and www (the matt and guido subdirectories have been -overhauled to use more recent Tkinter coding conventions). +There are demos in the Demo/tkinter directory. 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" -- cgit v0.12