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_CMDPython 解释器的命令行, 包括版本号。
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 中找到。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.