]> git.ipfire.org Git - thirdparty/Python/cpython.git/blame - README
Update pydoc topics and adapt Topics builder to Sphinx 1.0.
[thirdparty/Python/cpython.git] / README
CommitLineData
46ea4f73 1This is Python version 3.2
39285162 2==========================
9144763a 3
b7b0019a 4Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
b558a2e1
CH
5Python Software Foundation.
6All rights reserved.
4405cf3c 7
97f005d1
BW
8Python 3.x is a new version of the language, which is incompatible with the
92.x line of releases. The language is mostly the same, but many details,
10especially how built-in objects like dictionaries and strings work, have
11changed considerably, and a lot of deprecated features have finally been
12removed.
50e9fb9e 13
64773800 14
1da43e5e
BP
15Build Instructions
16------------------
71dcc3e9 17
1da43e5e 18On Unix, Linux, BSD, OSX, and Cygwin:
8d90f9d5 19
1da43e5e
BP
20 ./configure
21 make
22 make test
23 sudo make install
f501b4e5 24
1da43e5e 25This will install Python as python3.
91cb9d2f 26
1da43e5e
BP
27You can pass many options to the configure script; run "./configure
28--help" to find out more. On OSX and Cygwin, the executable is called
29python.exe; elsewhere it's just python.
477c8d5e 30
1da43e5e
BP
31On Mac OS X, if you have configured Python with --enable-framework,
32you should use "make frameworkinstall" to do the installation. Note
33that this installs the Python executable in a place that is not
34normally on your PATH, you may want to set up a symlink in
35/usr/local/bin.
dabed752 36
1da43e5e
BP
37On Windows, see PCbuild/readme.txt.
38
39If you wish, you can create a subdirectory and invoke configure from
40there. For example:
41
42 mkdir debug
43 cd debug
44 ../configure --with-pydebug
45 make
46 make test
47
48(This will fail if you *also* built at the top-level directory. You
49should do a "make clean" at the toplevel first.)
2a691a81 50
1c4523f0 51
1c896e3f 52What's New
91cb9d2f
GR
53----------
54
52915df4
BP
55We try to have a comprehensive overview of the changes in the "What's New in
56Python 3.1" document, found at
f3f67f2d 57
52915df4 58 http://docs.python.org/dev/3.1/whatsnew/3.1.html
f3f67f2d 59
99533a95 60For a more detailed change log, read Misc/NEWS (though this file, too,
52915df4 61is incomplete, and also doesn't list anything merged in from the 2.7
99533a95
GR
62release under development).
63
160b9a3c
BW
64If you want to install multiple versions of Python see the section below
65entitled "Installing multiple versions".
66
67
1da43e5e
BP
68Documentation
69-------------
2a691a81 70
1da43e5e
BP
71Documentation for Python 3.1 is online, updated twice a day:
72
73 http://docs.python.org/dev/3.1/
74
75All documentation is also available online at the Python web site
76(http://docs.python.org/, see below). It is available online for
77occasional reference, or can be downloaded in many formats for faster
78access. The documentation is downloadable in HTML, PostScript, PDF,
79LaTeX (through 2.5), and reStructuredText (2.6+) formats; the LaTeX and
80reStructuredText versions are primarily for documentation authors,
81translators, and people with special formatting requirements.
99533a95 82
160b9a3c 83
97f005d1 84Converting From Python 2.x to 3.x
1c896e3f 85---------------------------------
91cb9d2f 86
97f005d1
BW
87Python starting with 2.6 will contain features to help locating code that
88needs to be changed, such as optional warnings when deprecated features are
89used, and backported versions of certain key Python 3.x features.
91cb9d2f 90
1da43e5e
BP
91A source-to-source translation tool, "2to3", can take care of the mundane task
92of converting large amounts of source code. It is not a complete solution but
93is complemented by the deprecation warnings in 2.6. See
94http://docs.python.org/dev/py3k/library/2to3.html for more information.
95
dd15f6c3 96
ad3d5c22
BP
97Testing
98-------
99
100To test the interpreter, type "make test" in the top-level directory.
101This runs the test set twice (once with no compiled files, once with
102the compiled files left by the previous test run). The test set
103produces some output. You can generally ignore the messages about
104skipped tests due to optional features which can't be imported.
105If a message is printed about a failed test or a traceback or core
106dump is produced, something is wrong. On some Linux systems (those
107that are not yet using glibc 6), test_strftime fails due to a
108non-standard implementation of strftime() in the C library. Please
109ignore this, or upgrade to glibc version 6.
110
111By default, tests are prevented from overusing resources like disk space and
112memory. To enable these tests, run "make testall".
113
114IMPORTANT: If the tests fail and you decide to mail a bug report,
115*don't* include the output of "make test". It is useless. Run the
116failing test manually, as follows:
117
118 ./python Lib/test/regrtest.py -v test_whatever
119
120(substituting the top of the source tree for '.' if you built in a
121different directory). This runs the test in verbose mode.
122
123
dd15f6c3
CH
124Installing multiple versions
125----------------------------
126
127On Unix and Mac systems if you intend to install multiple versions of Python
128using the same installation prefix (--prefix argument to the configure
129script) you must take care that your primary python executable is not
9023e685 130overwritten by the installation of a different version. All files and
dd15f6c3
CH
131directories installed using "make altinstall" contain the major and minor
132version and can thus live side-by-side. "make install" also creates
932073a1 133${prefix}/bin/python3 which refers to ${prefix}/bin/pythonX.Y. If you intend
dd15f6c3
CH
134to install multiple versions using the same prefix you must decide which
135version (if any) is your "primary" version. Install that version using
136"make install". Install all other versions using "make altinstall".
137
138For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
139the primary version, you would execute "make install" in your 2.6 build
140directory and "make altinstall" in the others.
141
142
1c896e3f
GR
143Issue Tracker and Mailing List
144------------------------------
91cb9d2f 145
1c896e3f
GR
146We're soliciting bug reports about all aspects of the language. Fixes
147are also welcome, preferable in unified diff format. Please use the
148issue tracker:
91cb9d2f 149
1c896e3f 150 http://bugs.python.org/
64773800 151
1c896e3f
GR
152If you're not sure whether you're dealing with a bug or a feature, use
153the mailing list:
c0be2f5d 154
b9ebd04b 155 python-dev@python.org
91cb9d2f 156
1c896e3f 157To subscribe to the list, use the mailman form:
84c8c7f9 158
b9ebd04b 159 http://mail.python.org/mailman/listinfo/python-dev/
91cb9d2f 160
433c8ade 161
1da43e5e
BP
162Proposals for enhancement
163-------------------------
03d8f745 164
1da43e5e
BP
165If you have a proposal to change Python, you may want to send an email to the
166comp.lang.python or python-ideas mailing lists for inital feedback. A Python
167Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
168current PEPs, as well as guidelines for submitting a new PEP, are listed at
169http://www.python.org/dev/peps/.
0c3842fe 170
433c8ade 171
1da43e5e
BP
172Release Schedule
173----------------
91cb9d2f 174
95d62641 175See PEP 392 for release details: http://www.python.org/dev/peps/pep-0392/
ef0f1291
GR
176
177
178Copyright and License Information
179---------------------------------
180
851ffef6 181Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
ef0f1291
GR
182Python Software Foundation.
183All rights reserved.
184
185Copyright (c) 2000 BeOpen.com.
186All rights reserved.
187
188Copyright (c) 1995-2001 Corporation for National Research Initiatives.
189All rights reserved.
190
191Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
192All rights reserved.
193
194See the file "LICENSE" for information on the history of this
195software, terms & conditions for usage, and a DISCLAIMER OF ALL
196WARRANTIES.
197
198This Python distribution contains *no* GNU General Public License
199(GPL) code, so it may be used in proprietary projects. There are
200interfaces to some GNU code but these are entirely optional.
201
202All trademarks referenced herein are property of their respective
203holders.