summaryrefslogtreecommitdiffstats
path: root/README.rst
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-02-11 01:21:38 (GMT)
committerGitHub <noreply@github.com>2017-02-11 01:21:38 (GMT)
commitd783b01fdfb01955c1854e78ee69c731a5c035b6 (patch)
tree9c8408ae69ca54fbea049e0205f59a579dfc049f /README.rst
parent4538ddcacc8e8f00d5d36d7bc84e551a56ce6da2 (diff)
downloadcpython-d783b01fdfb01955c1854e78ee69c731a5c035b6.zip
cpython-d783b01fdfb01955c1854e78ee69c731a5c035b6.tar.gz
cpython-d783b01fdfb01955c1854e78ee69c731a5c035b6.tar.bz2
Rename README to README.rst and enhance formatting (#2)
Update also the Release Schedule to Python 3.7.
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst227
1 files changed, 227 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..a34373f
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,227 @@
+This is Python version 3.7.0 alpha 1
+====================================
+
+Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+2012, 2013, 2014, 2015, 2016, 2017 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.)
+
+To get an optimized build of Python, ``configure --enable-optimizations`` before
+you run ``make``. This sets the default make targets up to enable Profile Guided
+Optimization (PGO) and may be used to auto-enable Link Time Optimization (LTO)
+on some platforms. For more details, see the sections bellow.
+
+
+Profile Guided Optimization
+---------------------------
+
+PGO takes advantage of recent versions of the GCC or Clang compilers.
+If ran, ``make profile-opt`` will do several steps.
+
+First, the entire Python directory is cleaned of temporary files that
+may have resulted in a previous compilation.
+
+Then, an instrumented version of the interpreter is built, using suitable
+compiler flags for each flavour. Note that this is just an intermediary
+step and the binary resulted after this step is not good for real life
+workloads, as it has profiling instructions embedded inside.
+
+After this instrumented version of the interpreter is built, the Makefile
+will automatically run a training workload. This is necessary in order to
+profile the interpreter execution. Note also that any output, both stdout
+and stderr, that may appear at this step is suppressed.
+
+Finally, the last step is to rebuild the interpreter, using the information
+collected in the previous one. The end result will be a Python binary
+that is optimized and suitable for distribution or production installation.
+
+
+Link Time Optimization
+----------------------
+
+Enabled via configure's ``--with-lto`` flag. LTO takes advantages of recent
+compiler toolchains ability to optimize across the otherwise arbitrary ``.o`` file
+boundary when building final executables or shared libraries for additional
+performance gains.
+
+
+What's New
+----------
+
+We have a comprehensive overview of the changes in the `What's New in
+Python 3.7 <https://docs.python.org/3.7/whatsnew/3.7.html>`_ document.
+
+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.7 <https://docs.python.org/3.7/>`_ is online,
+updated daily.
+
+It can also be downloaded in many formats for faster access. The documentation
+is downloadable in HTML, PDF, and reStructuredText formats; the latter version
+is primarily for documentation authors, translators, and people with special
+formatting requirements.
+
+If you would like to contribute to the development of Python, relevant
+documentation is available at: `Python Developer's Guide
+<https://docs.python.org/devguide/>`_.
+
+For information about building Python's documentation, refer to Doc/README.txt.
+
+
+Converting From Python 2.x to 3.x
+---------------------------------
+
+Python starting with 2.6 contains 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
+`2to3 documentation <https://docs.python.org/3.7/library/2to3.html>`_ for more
+information.
+
+
+Testing
+-------
+
+To test the interpreter, type ``make test`` in the top-level directory.
+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.
+
+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 -m test -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.7, 3.6, and 3.7 with 3.7 being the
+primary version, you would execute ``make install`` in your 3.7 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, preferably in unified diff format. Please use the issue tracker:
+`bugs.python.org <https://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: `python-dev <https://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 <https://mail.python.org/mailman/listinfo/python-ideas/>`_
+mailing lists for initial 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
+`python.org/dev/peps/ <https://www.python.org/dev/peps/>`_.
+
+
+Release Schedule
+----------------
+
+See :pep:`537` for Python 3.7 release details.
+
+
+Copyright and License Information
+---------------------------------
+
+Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+2012, 2013, 2014, 2015, 2016 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.
+