我写了一个 Python 模块,我有两个版本:一个纯 Python 实现和一个 C 扩展。我已经编写了__init__.py
文件,以便它尝试导入 C 扩展名,如果失败,它会导入纯 Python 代码(这合理吗?)。
现在,我想知道分发这个模块(例如 write setup.py
)的最佳方式是什么,这样无论有没有能力构建或使用 C 扩展的人都可以轻松地使用它,只需运行:
python setup.py install
我的经验有限,但我看到了两种可能的情况:
- 用户没有在他们的机器上安装 MS Visual Studio 或 GCC 编译器套件来构建 C 扩展
- 用户正在运行 IronPython、Jython 或 CPython 以外的任何东西。我只使用过 CPython。所以我不确定如何分发这个模块,以便它能够顺利运行并易于安装在这些平台上,如果他们无法使用 C 扩展。