FreeBSD Porter 手册
上一页 | 第6章 　特殊情况 | 下一页

# 6.13 使用 Python

Ports 套件支持同时并行安装多个不同的 Python 版本。 Ports 应确保能够根据用户配置的 `PYTHON_VERSION` 变量使用正确的 `python` 解释器。 一般说来， 这是通过将脚本中的 `python` 路径名替换为 `PYTHON_CMD` 变量的值来实现的。

在 `PYTHON_SITELIBDIR` 下安装文件的 ports 应在包名上使用 `pyXY-` 前缀， 以便明示它们将会配合哪个 Python 版本使用。

    PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}

表 6-20. 对用到 Python 的 port 最有用的一些变量

`USE_PYTHON` | 此 port 需要 Python。 可以用 `2.3+` 这样的形式来指定所希望的版本。 除此之外， 也可以用横线来分隔两个版本号， 以表示某个范围的版本， 例如： `2.1-2.3`
`USE_PYDISTUTILS` | 使用 Python distutils 来完成配置、 编译和安装。 对包含 `setup.py` 的 port 而言这是必需的。 它会自动覆盖默认的 `do-build` 以及 `do-install` 这两个 target。 如未定义 `GNU_CONFIGURE`， 它还会改变 `do-configure`。
`PYTHON_PKGNAMEPREFIX` | 作为 `PKGNAMEPREFIX` 来区分不同 Python 版本的 package。 例如： `py24-`
`PYTHON_SITELIBDIR` | 全站 package 所在的目录， 它包括了 Python 的安装目录 (通常是 `LOCALBASE`)。 在安装 Python 模块时， `PYTHON_SITELIBDIR` 变量会非常有用。
`PYTHONPREFIX_SITELIBDIR` | 去掉了 PREFIX 部分的 PYTHON_SITELIBDIR。 应尽可能在 `pkg-plist` 中使用 `%%PYTHON_SITELIBDIR%%`。 `%%PYTHON_SITELIBDIR%%` 的默认值是 `lib/python%%PYTHON_VERSION%%/site-packages`
`PYTHON_CMD` | Python 解释器的命令行， 包括版本号。
`PYNUMERIC` | 将数值处理扩展模块加入依赖关系。
`PYNUMPY` | 对新增的数值计算扩展, numpy的依赖。 (PYNUMERIC 目前已被作者淘汰)。
`PYXML` | 将 XML 扩展模块加入依赖关系。 (对于 Python 2.0 和更高版本不再需要， 因为它已经成为了标准组件)。
`USE_TWISTED` | 将 twistedCore 加入依赖关系。 也可以用这个变量指定所需的组件， 例如： `web lore pair flow`
`USE_ZOPE` | 加入对 Zope， 一种 web 应用平台的依赖。 这会把 Python 依赖改为 Python 2.3。 此外 `ZOPEBASEDIR` 也会自动设为 Zope 安装目录的位置。

完整的可用变量列表， 可以在 `/usr/ports/Mk/bsd.python.mk` 中找到。

上一页 | 起始页 | 下一页
Web 应用， Apache 和 PHP | 上一级 | 使用 Tcl/Tk

若您有关于 FreeBSD ports 系统的问题， 请发送电子邮件至 <ports@FreeBSD.org>。
关于此文档的任何问题， 请致函 <doc@FreeBSD.org>。