在IronPython和IronRuby中打包脚本源文件

时间:2009-06-01 07:14:46

标签: c# python ruby ironpython ironruby

有没有人知道如何在部署dll中添加python和ruby库作为资源?我想在我的应用程序中托管脚本引擎,但不希望必须在源文件中部署相应语言的整个标准库。是否有一种简单的方法可以使require或import语句找到嵌入的资源?

3 个答案:

答案 0 :(得分:1)

您可以添加自定义导入挂钩,在执行导入时查找嵌入资源。这有点复杂,可能不值得麻烦。

更好的技术是在启动时获取所有嵌入式模块,使用ScriptEngine执行它们,并将您创建的模块放入与引擎关联的sys.modules字典中。这会自动使它们可由引擎执行的Python代码导入。

答案 1 :(得分:0)

您可以创建StreamContentProviders,例如

在IronRubyMVC / Core /下的ironrubymvc项目中,您将找到所需的信息。

AssemblyStreamContentProvider

Usage of the ContentProvider

答案 2 :(得分:0)

IronPython 2.0在Codeplex.com/ironpython上有一个名为PYC的示例编译器,它可以创建DLL(以及应用程序,如果你也需要它们)。

IronPython 2.6在Tools \ script下有更新版本的PYC。

干杯, 戴维