Упаковка исходных файлов скриптов в IronPython и IronRuby - PullRequest
3 голосов
/ 01 июня 2009

Кто-нибудь знает, как добавить библиотеки Python и Ruby в качестве ресурса в DLL для развертывания? Я хочу разместить скрипт-движок в своем приложении, но не хочу развертывать все стандартные библиотеки соответствующих языков в исходных файлах. Есть ли простой способ сделать это так, чтобы оператор require или import нашел встроенные ресурсы?

Ответы [ 3 ]

1 голос
/ 01 июня 2009

Вы можете добавить пользовательский хук импорта, который ищет встроенные ресурсы при выполнении импорта. Это немного сложно и, вероятно, не стоит хлопот.

Лучшим способом было бы извлечь все встроенные модули во время запуска, выполнить их с помощью ScriptEngine и поместить созданные модули в словарь sys.modules, связанный с этим движком. Это автоматически делает их доступными для импорта по коду Python, выполняемому движком.

0 голосов
/ 01 июня 2009

IronPython 2.0 имеет пример компилятора PYC на Codeplex.com/ironpython, который может создавать DLL (и приложения, если они вам тоже нужны).

IronPython 2.6 имеет более новую версию PYC в папке Tools \ script.

Ура, Дэви

0 голосов
/ 01 июня 2009

Вы можете создать StreamContentProviders, например,

В проекте ironrubymvc под IronRubyMVC / Core / вы найдете то, что вам нужно.

AssemblyStreamContentProvider

Использование ContentProvider

...