Python 如何在mac上为linux构建cython build_ext?

Python 如何在mac上为linux构建cython build_ext?,python,cython,Python,Cython,我构建了我的cython模块,以便在macOS上归档,并且运行良好。也可以在macOS上为linux构建so文件吗 我目前的解决方案是运行一个安装了必要模块的python容器。然后将当前文件夹装载到容器中的工作目录,在容器中执行编译。到目前为止,它工作得很好,但我正在寻找一个更简单的解决方案,即直接在macOS上编译linux特定的so文件。似乎很少有需求像我为这个用例所做的那样。这里发布一个解决方案,我现在正在做什么,希望它能帮助一些遇到同样问题的人 通常,我会遇到一个docker容器,其中磁

我构建了我的cython模块,以便在macOS上归档,并且运行良好。也可以在macOS上为linux构建so文件吗


我目前的解决方案是运行一个安装了必要模块的python容器。然后将当前文件夹装载到容器中的工作目录,在容器中执行编译。到目前为止,它工作得很好,但我正在寻找一个更简单的解决方案,即直接在macOS上编译linux特定的
so
文件。

似乎很少有需求像我为这个用例所做的那样。这里发布一个解决方案,我现在正在做什么,希望它能帮助一些遇到同样问题的人

通常,我会遇到一个docker容器,其中磁盘上安装了一个卷,python代码就放在那里。然后,我可以在容器中编译python文件,还可以在本地文件中获得已编译的.so文件

一个命令就行了

docker run -it -v $(pwd):/dist python:3.8-buster bash -c "pip3 install Cython==0.29.17 && cythonize -3 -i [YOUR PYTHON CODE ROOT Folder]/*.py" 

你要做的是“交叉编译”。试图通过一些(过时的)工具的链接,回答从Mac到Linux交叉编译的最佳方法。简言之,这并不容易,除非有令人信服的理由,否则我不会这么做

有两种工具声称可以使这一过程(多少?)更容易:

  • OSX交叉:
  • 交叉工具NG:

但我还是不确定这是否值得