python类/对象/函数可以导入到puppet文件(带有自定义提供者的.rb文件或其他文件)中吗?除了"exec“之外,还有什么方法可以使用puppet来运行python代码吗?
发布于 2016-04-14 15:12:18
Ruby有一个system()
方法,您可以通过它来运行外部Python程序。Ruby也有fork()
和exec()
,你可以通过它们来滚动你自己的,有更多的控制。Puppet还对后者进行了封装,您的Ruby插件代码可以使用它。
但你似乎在要求不同的东西。标准的C Ruby实现提供了本机(C)扩展,而Python有一个C API。因此,原则上可以通过原生扩展在Ruby中嵌入Python解释器,调用路径为Ruby --> C --> Python。您可以在Puppet支持的任何类型的Ruby插件中使用这样的扩展,包括自定义函数、自定义事实、资源提供程序,甚至ERB模板。
在实践中,我不推荐使用嵌入方法。虽然我确信它可以工作,但它似乎有很多不必要的复杂性,以及大量的运行时开销。
https://stackoverflow.com/questions/36619598
复制相似问题