Version 3 (modified by elelay (Eric Le Lay), 13 years ago) (diff) |
---|
Python
Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.
Python in MacPorts
MacPorts allows the installation of several different versions of python.
Versions 2.6 and later, however, are the primary focus of work.
Frameworks
Python is installed as Framework.
To maintain compatibility, however, python24 and python25 install as a hybrid Framework/Library installation (see #16334).
Avoiding Conflicts
Since MacPorts supports several different version of Python, conventions are adopted to ensure that there are no conflicts.
Ports which use the python PortGroups (
python24,
python25,
python26,
and
python31)
are automatically installed so as to avoid conflicts.
Other python packages must self-enforce conventions to avoid conflicts.
Versions 2.4 and 2.5
- Header files are installed into ${prefix}/include/python${python.branch}.
- Library files are installed into ${prefix}/lib/python${python.branch}.
- Site-packages are installed into ${prefix}/lib/python${python.branch}/site-packages.
Versions 2.6 and Later
- Header files are installed into ${frameworks_dir}/Python.framework/Versions/${python.branch}/include/python${python.branch}.
- Library files are installed into ${frameworks_dir}/Python.framework/Versions/${python.branch}/lib/python${python.branch}.
- Site-packages are installed into ${frameworks_dir}/Python.framework/Versions/${python.branch}/lib/python${python.branch}/site-packages.
pkg-config Files
Some python packages (such as Pycairo) install .pc files for pkg-config.
Since these files do not have the python version in their names, they can not be installed in the standard locations for pkg-config.
Instead they are installed into ${frameworks_dir}/Python.framework/Versions/${python.branch}/lib/lib/pkgconfig.
In order for pkg-config to find the .pc files, the environment variable PKG_CONFIG_PATH must be set.
For MacPorts Portfiles, the variable configure.pkg_config_path can be used for this purpose.
no-user-cfg Option
The existence of ~/pydistutils.cfg can cause problems during installation of python packages (see #9831).
For Python version 2.5 and later, the option --no-user-cfg has been added to allow this file to be ignored.
64-bit support
Python 2.6, 2.7 and 3.1 support 64-bit universal builds (see #16349). Non-universal python (all versions) will be 64-bit when built on Snow Leopard running on a 64-bit CPU.
Converting to the unified python PortGroup
Lately (summer 2011) a new unified python PortGroup has been introduced to simplify the maintenance of py{25,26,27}-XXXX ports. It uses subports to keep a single Portfile for all versions of python.
Look at the examples to know how to convert to it...
Examples: 82756,82241 Mailing List archive: Unifying Python Ports