当前位置:  开发笔记 > 编程语言 > 正文

结合Python和Ruby扩展模块

如何解决《结合Python和Ruby扩展模块》经验,为你挑选了1个好方法。

我有一个用于Python的C扩展模块,我希望把它提供给Ruby开发者.

源有许多C模块,只有一个是依赖于Python的.其余的只依赖于彼此和标准库.我可以用python setup.py build通常的方式构建它.

我一直在尝试使用添加Ruby支持newgem,我可以建立一个版本的延伸rake gem.然而,组合的源具有难看的目录结构(混合宝石风格和setuptools的风格的结构)和构建过程是一个组装机.

我不能把所有的资源在同一个目录中,因为mkmf自动拾取Python的相关模块,并试图建立一个和用户不应该安装Python编译将不使用的模块.我现在的黑客是extconf.rb对Python的独立的源文件复制到同一目录中的Ruby相关的扩展模块.

是否有更健全的方法使代码可用于这两种语言?我应该在一个单独的Gem中复制与Python无关的代码吗?我应该将独立代码作为使用autotools构建的单独lib发布吗?是否有一个版本mkmf可以跳过不需要的模块?



1> Johan Dahlin..:

解决它的一种方法是创建三个不同的项目:

库本身,独立于python和ruby

Python绑定

Ruby绑定

这可能是最干净的解决方案,虽然它在执行发布时需要更多的工作,但它的优势在于您可以发布新版本的Ruby绑定,而无需发布新的库/ python绑定版本.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有