У меня есть простой IronPython script:
# Foo.py
import os
def main():
print( "Hello" )
if "__main__" == __name__:
main()
Он отлично работает и печатает Hello, если я запускаю его с помощью IronPython как:
ipy Foo.py
Следуя инструкциям, приведенным в IronPython - как скомпилировать exe, я скомпилировал этот IronPython script в EXE, используя:
ipy pyc.py /main:Foo.py /target:exe
Выполнение Foo.exe дает эту ошибку:
Unhandled Exception: IronPython.Runtime.Exceptions.ImportException: No module named os
at Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(Object value)
at DLRCachedCode.__main__$1(CodeContext $globalContext, FunctionCode $functionCode)
at IronPython.Compiler.OnDiskScriptCode.Run()
at IronPython.Compiler.OnDiskScriptCode.Run(Scope scope)
at IronPython.Runtime.PythonContext.InitializeModule(String fileName, ModuleContext moduleContext, ScriptCode scriptC
ode, ModuleOptions options)
Почему модуль "os" не может быть найден? Как исправить это, так что я могу получить рабочий EXE?
(Обратите внимание, что это отличается от вопроса IronPython не может импортировать модуль os, поскольку script отлично работает, если я запускаю с ipy.exe
.)