diff options
author | Mariatta Wijaya <mariatta.wijaya@gmail.com> | 2017-02-02 04:21:22 (GMT) |
---|---|---|
committer | Mariatta Wijaya <mariatta.wijaya@gmail.com> | 2017-02-02 04:21:22 (GMT) |
commit | e2d8bc52c43483311bf48e52884bfd4c7689caf2 (patch) | |
tree | b1c5662a5832dd8b38b1e1875ac0865157b14948 /Doc | |
parent | c6fe419d1b3e1476d804a40809c2c5b954581c0d (diff) | |
download | cpython-e2d8bc52c43483311bf48e52884bfd4c7689caf2.zip cpython-e2d8bc52c43483311bf48e52884bfd4c7689caf2.tar.gz cpython-e2d8bc52c43483311bf48e52884bfd4c7689caf2.tar.bz2 |
Issue #29381: Clarify ordering of UNIX shebang line as source encoding line
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/tutorial/interpreter.rst | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/Doc/tutorial/interpreter.rst b/Doc/tutorial/interpreter.rst index faf57a3..bf7ce77 100644 --- a/Doc/tutorial/interpreter.rst +++ b/Doc/tutorial/interpreter.rst @@ -10,13 +10,13 @@ Using the Python Interpreter Invoking the Interpreter ======================== -The Python interpreter is usually installed as :file:`/usr/local/bin/python3.6` +The Python interpreter is usually installed as :file:`/usr/local/bin/python3.7` on those machines where it is available; putting :file:`/usr/local/bin` in your Unix shell's search path makes it possible to start it by typing the command: .. code-block:: text - python3.6 + python3.7 to the shell. [#]_ Since the choice of the directory where the interpreter lives is an installation option, other places are possible; check with your local @@ -98,8 +98,8 @@ before printing the first prompt: .. code-block:: shell-session - $ python3.6 - Python 3.6 (default, Sep 16 2015, 09:25:04) + $ python3.7 + Python 3.7 (default, Sep 16 2015, 09:25:04) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>> @@ -138,25 +138,24 @@ should follow. To display all these characters properly, your editor must recognize that the file is UTF-8, and it must use a font that supports all the characters in the file. -It is also possible to specify a different encoding for source files. In order -to do this, put one more special comment line right after the ``#!`` line to -define the source file encoding:: +To declare an encoding other than the default one, a special comment line +should be added as the *first* line of the file. The syntax is as follows:: # -*- coding: encoding -*- -With that declaration, everything in the source file will be treated as having -the encoding *encoding* instead of UTF-8. The list of possible encodings can be -found in the Python Library Reference, in the section on :mod:`codecs`. +where *encoding* is one of the valid :mod:`codecs` supported by Python. -For example, if your editor of choice does not support UTF-8 encoded files and -insists on using some other encoding, say Windows-1252, you can write:: +For example, to declare that Windows-1252 encoding is to be used, the first +line of your source code file should be:: # -*- coding: cp-1252 -*- -and still use all characters in the Windows-1252 character set in the source -files. The special encoding comment must be in the *first or second* line -within the file. +One exception to the *first line* rule is when the source code starts with a +:ref:`UNIX "shebang" line <tut-scripts>`. In this case, the encoding +declaration should be added as the second line of the file. For example:: + #!/usr/bin/env python3 + # -*- coding: cp-1252 -*- .. rubric:: Footnotes |