Thank you both.

I will look into this when I get back to the office.

P.S I am not sure if this is replying to the whole mailing list or
not. Sorry for the amateurish attempts!

On Tue, Dec 18, 2012 at 5:39 PM, Keith Rome <[email protected]> wrote:
> Hello Ian. The easiest thing would probably be to just use the meta_path 
> importer feature. This allows you to package up all of the standard library 
> directly into your compiled host application, and the python runtime will be 
> able to find them. The steps are pretty simple:
>
> 1. Find the standard library files. Default location is usually something 
> like C:\python27\.
> 2. Zip that entire folder up into a single zip file. You can optionally omit 
> files that you know won't be needed at runtime.
> 3. Add the zip file to your c# project file as an embedded resource (add it 
> to the project, and then in the file properties make sure it is set to the 
> right build action).
> 4. Add a little bit of code to your Python engine startup code. Here is a 
> simplified example of how I do it (my embedded file was named 
> "python_27_lib.zip"), but this isn't the only way:
>
> public ScriptEngine CreateEngine()
> {
>     var options = new Dictionary<string, object>();
>     ScriptRuntimeSetup setup = Python.CreateRuntimeSetup(options);
>     var pyRuntime = new ScriptRuntime(setup);
>     var engineInstance = Python.GetEngine(pyRuntime);
>
>     // use embedded python lib
>     var asm = this.GetType().Assembly;
>     var resQuery =
>         from name in asm.GetManifestResourceNames()
>         where name.ToLowerInvariant().EndsWith("python_27_lib.zip")
>         select name;
>     var resName = resQuery.Single();
>     var importer = new ResourceMetaPathImporter(asm, resName);
>     dynamic sys = engineInstance.GetSysModule();
>     sys.meta_path.append(importer);
>     sys.path = new List();
>
>     return engineInstance;
> }
>
>
> Keith Rome
> Senior Consultant and Architect
> MCPD-EAD, MCSD, MCDBA, MCTS-WPF, MCTS-TFS, MCTS-WSS
> Wintellect | 770.617.4016 | [email protected]
> www.wintellect.com
>
> -----Original Message-----
> From: Ironpython-users 
> [mailto:[email protected]] On Behalf Of 
> Ian Gorse
> Sent: Tuesday, December 18, 2012 7:27 AM
> To: [email protected]
> Subject: [Ironpython-users] No module named datetime
>
> Hi list,
>
> I'm new to mailing lists so apologise if this is done incorrectly - I didn't 
> know how to search the existing archives.
>
> I am still fairly new to IronPython but managed to pick it up quite quickly, 
> however I have come to a stumbling block.
>
> I have currently developed a C# application that converts data into specific 
> file formats. I am using IronPython to handle the conversion process which 
> allows me to create new converters and modifiy existing ones on the fly 
> without re-complication of the C# application.
> Its wonderful and I couldn't be any happier about it.
>
> However, its time to run the application in a production environment.
>
> Once I have my software installed on a test pc (that has no developement 
> tools installed), executing the software throws the Exception..
>
> 'No module named datetime'
>
> And I re-created the error using a simple python script
>
> import datetime
> now = datetime.datetime.now()
>
> I guess I could get around it by using he .NET DateTime object but I would 
> prefer to use the python datetime if I can.
>
> What do I need to do to make this work?
>
> Thanks
> _______________________________________________
> Ironpython-users mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/ironpython-users
>
>
_______________________________________________
Ironpython-users mailing list
[email protected]
http://mail.python.org/mailman/listinfo/ironpython-users

Reply via email to