我正在学习如何使用
distutils
,但有些地方我不明白,希望有人能够向我解释。我已经成功地创建了 tar.gz 包,并可以使用以下命令进行安装:pip install mypackage.tar.gz
我使用 setup.py
完成了这个操作,使用一个运行函数 setuptools.setup()
的简单脚本,我使用 python3 setup.py sdist
运行该脚本。
现在我想学习的是:如何在其中包含构建扩展。
我的问题是:我找不到任何全面的文本来解释如何通过 build_ext
类的包安装 pip install
来进行构建和安装。
如果我们看一下这个例子,对于著名工具 cx_freeze
包,我们可以看到:
- 有一个继承的
build_ext
类 - 有一个方法
build_extension()
- 在
setup()
中,变量cmdclass
包含一个包含类build_ext
的字典
我的问题是:是什么让 cx_freeze
构建扩展并将其安装?是否定义了带有 build_ext
的 cmdclass
就足以实现这一点?