【发布时间】:2018-08-23 01:49:41
【问题描述】:
我已经为自己的进程构建了一个 Python 3 模块。
我使用 cython 来编译和包装 C++ 源代码。
我有一台装有 Python 3.4 的 Linux (Debian Jessie) 机器,因此 cythonize 将我设为 Processing.cpython-34m.so 并将其复制到 /usr/local/lib/python3.4/dist-packages。
但是当我在另一台装有python3.5的机器上使用它时,我必须重新编译所有内容。
如何从我的机器上为所有 Python 3 版本和多个平台构建 Linux 或 pip 包(这里,只有 Jessie 和 Stretch,它们可能非常接近,实际上是相等的)? 最好不必在我的机器上安装所有版本的 Python 3。
这是我用于 cythonization 的 setup.py 文件:
from distutils.core import setup, Extension
from Cython.Build import cythonize
setup(ext_modules = cythonize(Extension(
"MyProcessing",
sources=["MyProcessing.pyx", "myprocess.cpp", "mythirdp.cpp"],
language="c++",
)))
谢谢。
【问题讨论】:
-
您可能对多重构建感兴趣:github.com/matthew-brett/multibuild
标签: python python-3.x cython software-distribution cythonize