mirror of
https://github.com/python/cpython.git
synced 2024-11-25 19:03:49 +08:00
223 lines
7.4 KiB
Plaintext
223 lines
7.4 KiB
Plaintext
This is Python version 3.1 alpha 2
|
|
==================================
|
|
|
|
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
|
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.
|
|
|
|
|
|
Release Schedule
|
|
----------------
|
|
|
|
See PEP 375 for release details: http://www.python.org/dev/peps/pep-0375/
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
Documentation for Python 3.1 is online, updated twice a day:
|
|
|
|
http://docs.python.org/dev/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.
|
|
|
|
This is a work in progress; please help improve it!
|
|
|
|
The design documents for Python 3 are also online. While the reference
|
|
documentation is being updated, the PEPs are often the best source of
|
|
information about new features. Start by reading PEP 3000:
|
|
|
|
http://python.org/dev/peps/pep-3000/
|
|
|
|
|
|
What's New
|
|
----------
|
|
|
|
For an overview of what's new in Python 3, see Guido van Rossum's blog at
|
|
artima.com:
|
|
|
|
http://www.artima.com/weblogs/index.jsp?blogger=guido
|
|
|
|
We try to eventually have a comprehensive overview of the changes in
|
|
the "What's New in Python 3.1" document, found at
|
|
|
|
http://docs.python.org/dev/3.1/whatsnew/3.1
|
|
|
|
Please help write it!
|
|
|
|
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.6
|
|
release under development).
|
|
|
|
If you want to install multiple versions of Python see the section below
|
|
entitled "Installing multiple versions".
|
|
|
|
|
|
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/.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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 versio. 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/python 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.
|
|
|
|
|
|
Configuration options and variables
|
|
-----------------------------------
|
|
|
|
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. This tool is currently available via the Subversion sandbox:
|
|
|
|
http://svn.python.org/view/sandbox/trunk/2to3/
|
|
|
|
|
|
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/
|
|
|
|
|
|
Build Instructions
|
|
------------------
|
|
|
|
On Unix, Linux, BSD, OSX, and Cygwin:
|
|
|
|
./configure
|
|
make
|
|
make test
|
|
sudo make install # or "make altinstall"
|
|
|
|
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.)
|
|
|
|
|
|
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.
|