Go to file
Georg Brandl 90e7a5b8c8 Blocked revisions 75869,76094,78025,78034,78863,78955,78957,82263,82270,82283,82526,82587,82593,82759,82764,82804,83234,83528,83605-83611,83613-83618,83649,84011,84448,84477-84479,84520,84522,84528-84529,84533,84542,84552,84579,84706,84747,84751,84899,84903,85253 via svnmerge
................
  r75869 | georg.brandl | 2009-10-27 22:02:11 +0100 (Di, 27 Okt 2009) | 13 lines

  Merged revisions 75866-75867 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75866 | georg.brandl | 2009-10-27 21:52:02 +0100 (Di, 27 Okt 2009) | 1 line

    Add a regrtest option to re-run in verbose mode immediately after a test fails, and use that option on the buildbots.
  ........
    r75867 | georg.brandl | 2009-10-27 21:55:44 +0100 (Di, 27 Okt 2009) | 1 line

    Reformat the regrtest command-line option help and group the options into sections.
  ........
................
  r76094 | georg.brandl | 2009-11-03 19:24:38 +0100 (Di, 03 Nov 2009) | 9 lines

  Recorded merge of revisions 76075 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r76075 | skip.montanaro | 2009-11-03 02:43:59 +0000 (Di, 03 Nov 2009) | 1 line

    typo (space-o?)
  ........
................
  r78025 | georg.brandl | 2010-02-06 19:46:57 +0100 (Sa, 06 Feb 2010) | 9 lines

  Recorded merge of revisions 78024 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78024 | georg.brandl | 2010-02-06 19:44:44 +0100 (Sa, 06 Feb 2010) | 1 line

    #5341: fix "builtin" where used as an adjective ("built-in" is correct).
  ........
................
  r78034 | georg.brandl | 2010-02-06 23:27:51 +0100 (Sa, 06 Feb 2010) | 1 line

  Remove Python 1.x or 2.x compatibility code.
................
  r78863 | georg.brandl | 2010-03-12 11:07:31 +0100 (Fr, 12 Mär 2010) | 15 lines

  Commit merge properties (missing from r78862).

  Merged revisions 78859-78860 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78859 | georg.brandl | 2010-03-12 10:57:43 +0100 (Fr, 12 Mär 2010) | 1 line

    Get rid of backticks.
  ........
    r78860 | georg.brandl | 2010-03-12 11:02:03 +0100 (Fr, 12 Mär 2010) | 1 line

    Fix warnings from "make check".
  ........
................
  r78955 | georg.brandl | 2010-03-14 11:23:39 +0100 (So, 14 Mär 2010) | 97 lines

  Merged revisions 78018,78035-78040,78042-78043,78046,78048-78052,78054,78059,78075-78080 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78018 | georg.brandl | 2010-02-06 11:08:21 +0100 (Sa, 06 Feb 2010) | 1 line

    #7864: make deprecation notices a bit clearer.
  ........
    r78035 | georg.brandl | 2010-02-06 23:44:17 +0100 (Sa, 06 Feb 2010) | 1 line

    Fix duplicate import.
  ........
    r78036 | georg.brandl | 2010-02-06 23:49:47 +0100 (Sa, 06 Feb 2010) | 1 line

    Remove unused import.
  ........
    r78037 | georg.brandl | 2010-02-06 23:59:15 +0100 (Sa, 06 Feb 2010) | 1 line

    No need to assign the results of expressions used only for side effects.
  ........
    r78038 | georg.brandl | 2010-02-07 00:02:29 +0100 (So, 07 Feb 2010) | 1 line

    Add a missing import.
  ........
    r78039 | georg.brandl | 2010-02-07 00:06:24 +0100 (So, 07 Feb 2010) | 1 line

    Add missing imports.
  ........
    r78040 | georg.brandl | 2010-02-07 00:08:00 +0100 (So, 07 Feb 2010) | 1 line

    Fix a few UnboundLocalErrors in test_long.
  ........
    r78042 | georg.brandl | 2010-02-07 00:12:12 +0100 (So, 07 Feb 2010) | 1 line

    Add missing import.
  ........
    r78043 | georg.brandl | 2010-02-07 00:12:19 +0100 (So, 07 Feb 2010) | 1 line

    Remove duplicate test method.
  ........
    r78046 | georg.brandl | 2010-02-07 00:18:00 +0100 (So, 07 Feb 2010) | 1 line

    Fix various missing import/unbound name errors.
  ........
    r78048 | georg.brandl | 2010-02-07 00:23:45 +0100 (So, 07 Feb 2010) | 1 line

    We heard you like test failures so we put unbound locals in your test so that you can fail while you fail.
  ........
    r78049 | georg.brandl | 2010-02-07 00:33:33 +0100 (So, 07 Feb 2010) | 1 line

    Fix import/access for some identifiers.  _TestSharedCTypes does not seem to be executed?
  ........
    r78050 | georg.brandl | 2010-02-07 00:34:10 +0100 (So, 07 Feb 2010) | 1 line

    Fix more unbound locals in code paths that do not seem to be used.
  ........
    r78051 | georg.brandl | 2010-02-07 00:53:52 +0100 (So, 07 Feb 2010) | 1 line

    Add missing import when running these tests standalone.
  ........
    r78052 | georg.brandl | 2010-02-07 00:54:04 +0100 (So, 07 Feb 2010) | 1 line

    Add missing import when running these tests standalone.
  ........
    r78054 | georg.brandl | 2010-02-07 00:58:25 +0100 (So, 07 Feb 2010) | 1 line

    Add missing import.
  ........
    r78059 | georg.brandl | 2010-02-07 12:34:15 +0100 (So, 07 Feb 2010) | 1 line

    Use "regexp" consistently.
  ........
    r78075 | georg.brandl | 2010-02-07 13:16:12 +0100 (So, 07 Feb 2010) | 1 line

    Fix another duplicated test method.
  ........
    r78076 | georg.brandl | 2010-02-07 13:19:43 +0100 (So, 07 Feb 2010) | 1 line

    Fix wrong usage of "except X, Y:".
  ........
    r78077 | georg.brandl | 2010-02-07 13:25:50 +0100 (So, 07 Feb 2010) | 1 line

    Fix two redefined test methods.
  ........
    r78078 | georg.brandl | 2010-02-07 13:27:06 +0100 (So, 07 Feb 2010) | 1 line

    Fix a redefined test method.
  ........
    r78079 | georg.brandl | 2010-02-07 13:34:26 +0100 (So, 07 Feb 2010) | 1 line

    Add a minimal test for fnmatchcase().
  ........
    r78080 | georg.brandl | 2010-02-07 13:55:12 +0100 (So, 07 Feb 2010) | 1 line

    Remove duplicate test method.
  ........
................
  r78957 | georg.brandl | 2010-03-14 11:45:50 +0100 (So, 14 Mär 2010) | 9 lines

  Merged revisions 78093 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78093 | georg.brandl | 2010-02-07 18:03:15 +0100 (So, 07 Feb 2010) | 1 line

    Remove unused imports in test modules.
  ........
................
  r82263 | georg.brandl | 2010-06-27 12:37:48 +0200 (So, 27 Jun 2010) | 1 line

  #9064: accept number of frames for "up" and "down" commands in pdb.
................
  r82270 | georg.brandl | 2010-06-27 13:24:03 +0200 (So, 27 Jun 2010) | 1 line

  Untabify.
................
  r82283 | georg.brandl | 2010-06-27 15:28:06 +0200 (So, 27 Jun 2010) | 8 lines

  Blocked revisions 82271 via svnmerge

  ........
    r82271 | georg.brandl | 2010-06-27 13:24:15 +0200 (So, 27 Jun 2010) | 1 line

    Untabify.
  ........
................
  r82526 | georg.brandl | 2010-07-04 09:25:18 +0200 (So, 04 Jul 2010) | 1 line

  Remove old and unsafe Dbm demo class.
................
  r82587 | georg.brandl | 2010-07-05 19:48:38 +0200 (Mo, 05 Jul 2010) | 1 line

  #9166: NotImplemented is not an exception.
................
  r82593 | georg.brandl | 2010-07-05 22:13:06 +0200 (Mo, 05 Jul 2010) | 1 line

  Remove Dbm.
................
  r82759 | georg.brandl | 2010-07-10 12:32:36 +0200 (Sa, 10 Jul 2010) | 1 line

  #3071: tell how many values were expected when unpacking too many.
................
  r82764 | georg.brandl | 2010-07-10 14:20:38 +0200 (Sa, 10 Jul 2010) | 1 line

  #8564: update docs on integrating doctest/unittest with unittest(2) test discovery.
................
  r82804 | georg.brandl | 2010-07-11 11:41:21 +0200 (So, 11 Jul 2010) | 1 line

  Allow set literals in literal_eval().
................
  r83234 | georg.brandl | 2010-07-29 18:01:11 +0200 (Do, 29 Jul 2010) | 1 line

  #6522: add a "decorator" directive to explicitly document decorators, and use it in a few places.
................
  r83528 | georg.brandl | 2010-08-02 14:54:24 +0200 (Mo, 02 Aug 2010) | 1 line

  Document how to refer to decorators and decorator methods.
................
  r83605 | georg.brandl | 2010-08-03 00:08:58 +0200 (Di, 03 Aug 2010) | 1 line

  Make the Pynche tool work with Python 3.
................
  r83606 | georg.brandl | 2010-08-03 00:25:16 +0200 (Di, 03 Aug 2010) | 1 line

  Minimum fixes to make freeze.py do something useful.
................
  r83607 | georg.brandl | 2010-08-03 00:28:01 +0200 (Di, 03 Aug 2010) | 1 line

  Remove faqwiz tool.
................
  r83608 | georg.brandl | 2010-08-03 00:31:22 +0200 (Di, 03 Aug 2010) | 1 line

  Update README for Tools.
................
  r83609 | georg.brandl | 2010-08-03 00:53:22 +0200 (Di, 03 Aug 2010) | 1 line

  Update README, remove obsolete scripts.
................
  r83610 | georg.brandl | 2010-08-03 00:55:17 +0200 (Di, 03 Aug 2010) | 1 line

  Update README, remove obsolete script.
................
  r83611 | georg.brandl | 2010-08-03 00:58:25 +0200 (Di, 03 Aug 2010) | 1 line

  Make the framer run (still generates wrong code for module creation though.)
................
  r83613 | georg.brandl | 2010-08-03 01:13:12 +0200 (Di, 03 Aug 2010) | 1 line

  Update Demo README.
................
  r83614 | georg.brandl | 2010-08-03 01:13:24 +0200 (Di, 03 Aug 2010) | 1 line

  Make minigzip work again.
................
  r83615 | georg.brandl | 2010-08-03 01:15:58 +0200 (Di, 03 Aug 2010) | 1 line

  Another demo that at least runs again.
................
  r83616 | georg.brandl | 2010-08-03 01:17:21 +0200 (Di, 03 Aug 2010) | 1 line

  Remove obsolete pdist demo.
................
  r83617 | georg.brandl | 2010-08-03 01:18:35 +0200 (Di, 03 Aug 2010) | 1 line

  Remove reference to removed faqwiz tool.
................
  r83618 | georg.brandl | 2010-08-03 01:30:09 +0200 (Di, 03 Aug 2010) | 1 line

  Fix-up some tkinter demos.
................
  r83649 | georg.brandl | 2010-08-03 09:56:50 +0200 (Di, 03 Aug 2010) | 1 line

  Fix regrtest -F.
................
  r84011 | georg.brandl | 2010-08-14 15:43:37 +0200 (Sa, 14 Aug 2010) | 1 line

  There are no *.doc files anymore. Also update "funny" target.
................
  r84448 | georg.brandl | 2010-09-03 12:52:55 +0200 (Fr, 03 Sep 2010) | 1 line

  Reindent.
................
  r84477 | georg.brandl | 2010-09-04 00:19:07 +0200 (Sa, 04 Sep 2010) | 1 line

  Fix typos and use tabs consistently.
................
  r84478 | georg.brandl | 2010-09-04 00:20:58 +0200 (Sa, 04 Sep 2010) | 1 line

  Make PEP section a bit less ugly and at least list implemented PEPs.
................
  r84479 | georg.brandl | 2010-09-04 00:29:08 +0200 (Sa, 04 Sep 2010) | 1 line

  Revert unintended change from r84458.
................
  r84520 | georg.brandl | 2010-09-05 10:28:41 +0200 (So, 05 Sep 2010) | 1 line

  Update pydoc topics.
................
  r84522 | georg.brandl | 2010-09-05 10:30:40 +0200 (So, 05 Sep 2010) | 1 line

  Bump to 3.2a2.
................
  r84528 | georg.brandl | 2010-09-05 13:28:33 +0200 (So, 05 Sep 2010) | 1 line

  Rewrap and consistency fixes.
................
  r84529 | georg.brandl | 2010-09-05 19:06:50 +0200 (So, 05 Sep 2010) | 1 line

  Rewrap.
................
  r84533 | georg.brandl | 2010-09-05 19:32:31 +0200 (So, 05 Sep 2010) | 1 line

  Fix reST in NEWS, and remove NEWS.help (all committers should now know reST anyway, and for those who do not, there is Documenting Python.)
................
  r84542 | georg.brandl | 2010-09-05 23:29:17 +0200 (So, 05 Sep 2010) | 1 line

  Post-release update.
................
  r84552 | georg.brandl | 2010-09-06 08:45:47 +0200 (Mo, 06 Sep 2010) | 1 line

  Remove redundant word.
................
  r84579 | georg.brandl | 2010-09-07 10:18:26 +0200 (Di, 07 Sep 2010) | 1 line

  Add stub entry for argparse.
................
  r84706 | georg.brandl | 2010-09-11 08:41:30 +0200 (Sa, 11 Sep 2010) | 1 line

  Remove compatibility code for Python < 2.1, < 2.2 and < 2.4.
................
  r84747 | georg.brandl | 2010-09-12 19:14:26 +0200 (So, 12 Sep 2010) | 1 line

  9806: add --extension-suffix option to python-config.
................
  r84751 | georg.brandl | 2010-09-12 22:58:19 +0200 (So, 12 Sep 2010) | 1 line

  Get rid of tabs.
................
  r84899 | georg.brandl | 2010-09-19 10:55:36 +0200 (So, 19 Sep 2010) | 1 line

  Add "concurrent" subdir to Makefile.
................
  r84903 | georg.brandl | 2010-09-19 11:31:09 +0200 (So, 19 Sep 2010) | 1 line

  Edit concurrent docs, add versionadded and see also reference to the PEP.
................
  r85253 | georg.brandl | 2010-10-06 10:52:48 +0200 (Mi, 06 Okt 2010) | 1 line

  Copyedit of os.symlink() docs.
................
2010-10-06 09:12:00 +00:00
Demo Merged revisions 84249,84264,84326-84327,84407,84476,84480-84482,84484,84530-84531,84553,84619,84684,84915-84916 via svnmerge from 2010-10-06 08:54:16 +00:00
Doc Merged revisions 85008,85011,85228,85240 via svnmerge from 2010-10-06 08:57:55 +00:00
Grammar Merged revisions 73196,73278-73280,73299,73308,73312-73313,73317-73318,73321,73324,73331,73335,73340,73363 via svnmerge from 2009-06-11 22:54:11 +00:00
Include Merged revisions 82262,82269,82434,82480-82481,82484-82485,82487-82488,82594,82599,82615 via svnmerge from 2010-10-06 08:08:40 +00:00
Lib Merged revisions 82805-82806,83523-83527,83536,83538,83542,83546-83548,83550-83555,83558,83560 via svnmerge from 2010-10-06 08:26:09 +00:00
Mac Merged revisions 85059 via svnmerge from 2010-09-28 14:04:41 +00:00
Misc Merged revisions 85222 via svnmerge from 2010-10-06 09:01:57 +00:00
Modules Merged revisions 84249,84264,84326-84327,84407,84476,84480-84482,84484,84530-84531,84553,84619,84684,84915-84916 via svnmerge from 2010-10-06 08:54:16 +00:00
Objects Merged revisions 85193 via svnmerge from 2010-10-03 02:19:18 +00:00
PC Updated VS8.0 project files with PCBuild/vs9to8.py. 2010-09-21 18:59:41 +00:00
PCbuild Merged revisions 82805-82806,83523-83527,83536,83538,83542,83546-83548,83550-83555,83558,83560 via svnmerge from 2010-10-06 08:26:09 +00:00
Parser Merged revisions 81288 via svnmerge from 2010-05-18 13:51:07 +00:00
Python Merged revisions 85236 via svnmerge from 2010-10-05 22:18:29 +00:00
Tools Merged revisions 83561,83563,83565-83566,83569,83571,83574-83575,83580,83584,83599,83612,83659,83977,84015-84018,84020,84141 via svnmerge from 2010-10-06 08:35:38 +00:00
.bzrignore Merged revisions 84705 via svnmerge from 2010-09-11 16:23:57 +00:00
.hgignore Merged revisions 84705 via svnmerge from 2010-09-11 16:23:57 +00:00
.hgtags tag Python 3.1.2 2010-03-20 20:49:45 +00:00
LICENSE Merged revisions 79957 via svnmerge from 2010-04-16 23:26:56 +00:00
Makefile.pre.in Merged revisions 84249,84264,84326-84327,84407,84476,84480-84482,84484,84530-84531,84553,84619,84684,84915-84916 via svnmerge from 2010-10-06 08:54:16 +00:00
README Merged revisions 83561,83563,83565-83566,83569,83571,83574-83575,83580,83584,83599,83612,83659,83977,84015-84018,84020,84141 via svnmerge from 2010-10-06 08:35:38 +00:00
configure Merged revisions 84946 via svnmerge from 2010-09-21 15:23:10 +00:00
configure.in Merged revisions 83561,83563,83565-83566,83569,83571,83574-83575,83580,83584,83599,83612,83659,83977,84015-84018,84020,84141 via svnmerge from 2010-10-06 08:35:38 +00:00
install-sh Patch #746366: Update to current automake install-sh. Will backport to 2.2. 2003-06-14 06:58:32 +00:00
pyconfig.h.in Merged revisions 84584 via svnmerge from 2010-09-07 14:58:50 +00:00
runtests.sh Merged revisions 85078 via svnmerge from 2010-09-28 22:34:03 +00:00
setup.py Merged revisions 84584 via svnmerge from 2010-09-07 14:58:50 +00:00

README

This is Python version 3.1.2
============================

Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Python Software Foundation.
All rights reserved.

Python 3.x is a new version of the language, which is incompatible with the
2.x line of releases.  The language is mostly the same, but many details,
especially how built-in objects like dictionaries and strings work, have
changed considerably, and a lot of deprecated features have finally been
removed.


Build Instructions
------------------

On Unix, Linux, BSD, OSX, and Cygwin:

    ./configure
    make
    make test
    sudo make install

This will install Python as python3.

You can pass many options to the configure script; run "./configure
--help" to find out more.  On OSX and Cygwin, the executable is called
python.exe; elsewhere it's just python.

On Mac OS X, if you have configured Python with --enable-framework,
you should use "make frameworkinstall" to do the installation.  Note
that this installs the Python executable in a place that is not
normally on your PATH, you may want to set up a symlink in
/usr/local/bin.

On Windows, see PCbuild/readme.txt.

If you wish, you can create a subdirectory and invoke configure from
there.  For example:

    mkdir debug
    cd debug
    ../configure --with-pydebug
    make
    make test

(This will fail if you *also* built at the top-level directory.  You
should do a "make clean" at the toplevel first.)


What's New
----------

We try to have a comprehensive overview of the changes in the "What's New in
Python 3.1" document, found at

    http://docs.python.org/3.1/whatsnew/3.1.html

For a more detailed change log, read Misc/NEWS (though this file, too,
is incomplete, and also doesn't list anything merged in from the 2.7
release under development).

If you want to install multiple versions of Python see the section below
entitled "Installing multiple versions".


Documentation
-------------

Documentation for Python 3.1 is online, updated twice a day:

    http://docs.python.org/3.1/

All documentation is also available online at the Python web site
(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 downloadable in HTML, PostScript, PDF,
LaTeX (through 2.5), and reStructuredText (2.6+) formats; the LaTeX and
reStructuredText versions are primarily for documentation authors,
translators, and people with special formatting requirements.


Converting From Python 2.x to 3.x
---------------------------------

Python starting with 2.6 will contain features to help locating code that
needs to be changed, such as optional warnings when deprecated features are
used, and backported versions of certain key Python 3.x features.

A source-to-source translation tool, "2to3", can take care of the mundane task
of converting large amounts of source code.  It is not a complete solution but
is complemented by the deprecation warnings in 2.6.  See
http://docs.python.org/py3k/library/2to3.html for more information.


Testing
-------

To test the interpreter, type "make test" in the top-level directory.
This runs the test set twice (once with no compiled files, once with
the compiled files left by the previous test run).  The test set
produces some output.  You can generally ignore the messages about
skipped tests due to optional features which can't be imported.
If a message is printed about a failed test or a traceback or core
dump is produced, something is wrong.  On some Linux systems (those
that are not yet using glibc 6), test_strftime fails due to a
non-standard implementation of strftime() in the C library. Please
ignore this, or upgrade to glibc version 6.

By default, tests are prevented from overusing resources like disk space and
memory.  To enable these tests, run "make testall".

IMPORTANT: If the tests fail and you decide to mail a bug report,
*don't* include the output of "make test".  It is useless.  Run the
failing test manually, as follows:

        ./python Lib/test/regrtest.py -v test_whatever

(substituting the top of the source tree for '.' if you built in a
different directory).  This runs the test in verbose mode.


Installing multiple versions
----------------------------

On Unix and Mac systems if you intend to install multiple versions of Python
using the same installation prefix (--prefix argument to the configure
script) you must take care that your primary python executable is not
overwritten by the installation of a different version.  All files and
directories installed using "make altinstall" contain the major and minor
version and can thus live side-by-side.  "make install" also creates
${prefix}/bin/python3 which refers to ${prefix}/bin/pythonX.Y.  If you intend
to install multiple versions using the same prefix you must decide which
version (if any) is your "primary" version.  Install that version using
"make install".  Install all other versions using "make altinstall".

For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
the primary version, you would execute "make install" in your 2.6 build
directory and "make altinstall" in the others.


Issue Tracker and Mailing List
------------------------------

We're soliciting bug reports about all aspects of the language.  Fixes
are also welcome, preferable in unified diff format.  Please use the
issue tracker:

    http://bugs.python.org/

If you're not sure whether you're dealing with a bug or a feature, use
the mailing list:

    python-dev@python.org

To subscribe to the list, use the mailman form:

    http://mail.python.org/mailman/listinfo/python-dev/


Proposals for enhancement
-------------------------

If you have a proposal to change Python, you may want to send an email to the
comp.lang.python or python-ideas mailing lists for inital feedback. A Python
Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
current PEPs, as well as guidelines for submitting a new PEP, are listed at
http://www.python.org/dev/peps/.


Release Schedule
----------------

See PEP 375 for release details: http://www.python.org/dev/peps/pep-0375/


Copyright and License Information
---------------------------------

Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Python Software Foundation.
All rights reserved.

Copyright (c) 2000 BeOpen.com.
All rights reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All rights reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
All rights reserved.

See the file "LICENSE" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL
WARRANTIES.

This Python distribution contains *no* GNU General Public License
(GPL) code, so it may be used in proprietary projects.  There are
interfaces to some GNU code but these are entirely optional.

All trademarks referenced herein are property of their respective
holders.