python - 如何在 mac 上为 linux 构建 cython build_ext?
问题描述
我将我的 cython 模块构建为 macOS 上的 so 文件,它工作正常。是否也可以为特定于 macOS 的 linux 构建 so 文件?
我目前的解决方案是运行一个安装了必要模块的 python 容器。然后将当前文件夹挂载到容器中的工作目录,在容器中执行编译。到目前为止它工作正常,但我正在寻找一种更简单的解决方案,即so
直接在 macOS 上编译 linux 特定文件。
解决方案
似乎很少有要求像我为这个用例所做的那样。在这里发布一个我现在正在做的解决方案,希望它可以帮助遇到同样问题的人。
通常,我会遇到一个 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"
推荐阅读
- c++ - 找出有班级、指针和向量的男女学生的百分比
- python - Git子模块的本地导入错误 - Python
- c# - 检测 ListView 或 CollectionView 是否由用户滚动
- flutter - 如何在flutter中向webview添加刷新指示器?
- python - 在 python 3.8 上运行的 pycryptodome 包,用于在 ECB 模式下加密和解密 AES 128
- vue.js - vuejs - 在 vue-router 中使用 JWT 作为参数
- javascript - 导入组件会呈现带有 TypeError 的空白页面:无法设置未定义的属性“组件”
- java - 如何在 selenium 中使用 Excel 和 junit 进行参数化(读取隐藏的 excel 数据)
- android - 设置通知栏图标颜色
- java - 在java中逐字节读取