Next: , Previous: , Up: 打包指导   [Contents][Index]


16.4.7 Python模块

我们目前为Python 2和Python 3打包,如版本号的规则所述,它们的Scheme变量名分别是python-2python。为了避免和其他编程语言的冲突,Python模块的软件包名字最好含有python

Some modules are compatible with only one version of Python, others with both. If the package Foo is compiled with Python 3, we name it python-foo. If it is compiled with Python 2, we name it python2-foo. Packages should be added when they are necessary; we don’t add Python 2 variants of the package unless we are going to use them.

如果一个项目的名字已经含有python这个单词,我们把它丢掉;例如,python-dateutil模块打包后的名字是python-dateutilpython2-dateutil。如果项目的名字以py开头(如 pytz),我们把它保留,并且添加上面所述的前缀。

16.4.7.1 指定依赖

Python软件包的依赖信息通常在包的源代码树里,各种文件有不同的精确度:setup.py文件,requirements.txt文件,tox.ini文件。

你在写软件包配方时的任务是把这些依赖转换成相应的“输入”(see inputs)。尽管pypi导入工具通常可以做得很好(see 调用guix import),你可能想检查下面这个清单,以决定每个依赖放在哪儿。