【发布时间】:2009-06-01 07:14:45
【问题描述】:
有谁知道如何将 python 和 ruby 库添加为 dll 中的资源以进行部署?我想在我的应用程序中托管一个脚本引擎,但不想在源文件中部署相应语言的整个标准库。有没有一种简单的方法可以让 require 或 import 语句找到嵌入的资源?
【问题讨论】:
标签: c# python ruby ironpython ironruby
有谁知道如何将 python 和 ruby 库添加为 dll 中的资源以进行部署?我想在我的应用程序中托管一个脚本引擎,但不想在源文件中部署相应语言的整个标准库。有没有一种简单的方法可以让 require 或 import 语句找到嵌入的资源?
【问题讨论】:
标签: c# python ruby ironpython ironruby
您可以添加自定义导入挂钩,以便在执行导入时查找嵌入式资源。这有点复杂,可能不值得麻烦。
更好的技术是在启动时获取所有嵌入式模块,使用 ScriptEngine 执行它们并将您创建的模块放入与引擎关联的 sys.modules 字典中。这会自动使它们可供引擎执行的 Python 代码导入。
【讨论】:
例如,您可以创建 StreamContentProviders
在 IronRubyMVC/Core/ 下的 ironrubymvc 项目中,你会找到你需要的。
【讨论】:
IronPython 2.0 在 Codeplex.com/ironpython 上有一个名为 PYC 的示例编译器,它可以创建 DLL(如果您也需要它们,还可以创建应用程序)。
IronPython 2.6 在 Tools\script 下有更新版本的 PYC。
干杯, 戴维
【讨论】: