在IronPython和IronRuby中打包脚本源文件
有没有人知道怎么把Python和Ruby的库作为资源添加到一个DLL文件里,以便部署?我想在我的应用程序里放一个脚本引擎,但不想把这两种语言的整个标准库都以源文件的形式部署出去。有没有简单的方法可以做到这一点,让require或import语句能找到这些嵌入的资源?
3 个回答
0
IronPython 2.0 有一个叫 PYC 的示例编译器,放在 Codeplex.com/ironpython 上,可以用来创建 DLL 文件(如果你需要的话,也可以创建应用程序)。
IronPython 2.6 里有一个更新版的 PYC,放在 Tools\script 文件夹下。
祝好,Davy
0
你可以创建流内容提供者,比如说。
在 IronRubyMVC 项目的 IronRubyMVC/Core/ 文件夹下,你会找到你需要的东西。
1
你可以添加一个自定义的导入钩子,这样在执行导入时就能查找嵌入的资源。不过,这个方法有点复杂,可能不太值得去折腾。
更好的方法是,在启动时就把所有嵌入的模块都加载进来,然后用脚本引擎执行它们,并把你创建的模块放进和引擎关联的sys.modules字典里。这样一来,Python代码在引擎中执行时就能自动找到这些模块了。