Differences between revisions 12 and 13
Revision 12 as of 2009-07-28 14:53:20
Size: 1754
Editor: ?techtonik
Comment: * thoroughly describe Python byte-compiler behaviour
Revision 13 as of 2009-07-28 16:09:44
Size: 1902
Editor: ?techtonik
Comment: * explain reasoning behind bytecompiling in Debian policy
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
Java. Python tries to compile and write bytecode *.pyc files alongside with *.py sources when *.py is
executed. Insufficient permissions to write in corresponding directories will only affect performance.
Java. Unfortunately, compiled bytecode files are incompatible from Python version to Python version.
Certain Debian system may have several Python versions available, so to avoid distributing several
packages for each version, Debian Policy makes sure that Python code is distributed in clear form
and compiled only during installation process on target system. Python is able to compile and write
bytecode *.pyc files alongside with *.py sources when *.py is executed, but insufficient permissions
may not allow it to write in corresponding directories, so to avoid drop-down in performance
compiling is done during installation.
Line 9: Line 14:
The so-called C-Python interpreter is a software
package containing both the compiler and the bytecode interpreter used to execute Python bytecode
files. Unfortunately precompiled bytecode files are incompatible from Python version to
Python version. Precompiled Python bytecode files distributed in Debian packages must
therefore match one of the available Python interpreter versions available on a certain
Debian system.
Within the Debian project the Python compiler/interpreter package is maintained by a developers team known as [[http://alioth.debian.org/projects/pkg-python|pkg-python]]. There are many Python modules and extensions maintained by individual developers and by a coordinated group called [[Teams/PythonModulesTeam|Debian Python Modules Team]]. The Debian project contains many other applications written in Python that are maintained by a separate [[Teams/PythonAppsPackagingTeam|Python Applications Packaging Team]].
The so-called C-Python interpreter is a software 
package containing both the compiler and the bytecode interpreter used to execute Python files.
Within the Debian project the Python compiler/interpreter package is maintained by a developers team known as [[http://alioth.debian.org/projects/pkg-python|pkg-python]]. There are many Python modules and extensions maintained by individual developers and by a coordinated group called [[Teams/PythonModulesTeam|Debian Python Modules Team]]. The Debian project contains many other applications written in Python that are maintained by a separate [[Teams/PythonAppsPackagingTeam|Python Applications Packaging Team]].

Python in Debian

Software written in the Python programming language is executed by Python interpreter and is usually compiled into platform independent bytecode files to increase performance. Thus software that written in pure Python can be distributed as source code or as compiled bytecode. The latter is similar to Java. Unfortunately, compiled bytecode files are incompatible from Python version to Python version. Certain Debian system may have several Python versions available, so to avoid distributing several packages for each version, Debian Policy makes sure that Python code is distributed in clear form and compiled only during installation process on target system. Python is able to compile and write bytecode *.pyc files alongside with *.py sources when *.py is executed, but insufficient permissions may not allow it to write in corresponding directories, so to avoid drop-down in performance compiling is done during installation.

The so-called C-Python interpreter is a software package containing both the compiler and the bytecode interpreter used to execute Python files. Within the Debian project the Python compiler/interpreter package is maintained by a developers team known as pkg-python. There are many Python modules and extensions maintained by individual developers and by a coordinated group called Debian Python Modules Team. The Debian project contains many other applications written in Python that are maintained by a separate Python Applications Packaging Team.

Status

Debian's latest release Lenny contains multiple Python versions: 2.5 (the default) and 2.4.

Python Policy

See DebianPython/NewPolicy

See also