[IronPython] compiling an executable with the standard library

Andrew Evans evans.d.andrew at gmail.com
Tue Jul 13 00:54:32 CEST 2010


Hell ty for your fast reply.


I compiled the dll using your script. I then did a clr.AddReference in my py
code. I also switched to Python 2.6.0. I compiled my code and copied the
necessary dlls from my IronPython install to my my executable output
directory along with my xaml file.

How ever when I run my app from command "p2pChat.exe" it crashes with no
error messages and returns to a shell.

This is the contents of my Directory

p2p/
              IronPython.dll
              IronPython.Modules.dll
              IronPython.Modules.XML
              IronPython.XML
              Microsoft.Dynamic.dll
              Microsoft.Scripting.Core.dll
              Microsoft.Scripting.Debugging.dll
              Microsoft.Scripting.dll
              Microsoft.Scripting.ExtensionAttribute.dll
              p2pChat.dll
              p2pChat.exe
              p2pChat.py
              p2pChat.xaml
              stdlib.dll

Any ideas

cheers

Andrew



On Mon, Jul 12, 2010 at 11:13 AM, Dino Viehland <dinov at microsoft.com> wrote:

>  socket is actually a built-in in IronPython.  So you really only need
> threading.  But threading depends upon functools, and collections, and
> traceback.  I’m not sure how far the transitive closure goes so let’s just
> assume you’ll need to compile the entire standard library.  You can actually
> compile this into its own DLL using pyc.  So you could do:
>
>
>
> import System
>
> import pyc
>
> files = System.IO.Directory.GetFiles(r'C:\Program Files (x86)\IronPython
> 2.6\Lib')
>
> files = [f for f in files if f.endswith('.py')]
>
> import pyc
>
> pyc.Main(files + ['/out:stdlib.dll'])
>
>
>
> I’m just importing pyc directly here because for whatever reason it doesn’t
> accept wildcards.
>
>
>
> There’s a bug in 2.6.1 which prevents this from working – it’ll be fixed in
> 2.6.2.  You could compile w/ 2.6.0 to get a working EXE or you could remove
> any std lib modules that fail to compile.
>
>
>
> Now you can just do a clr.AddReference(‘stdlib.dll’) in your script and the
> std lib will be available to you.
>
>
>
> *From:* users-bounces at lists.ironpython.com [mailto:
> users-bounces at lists.ironpython.com] *On Behalf Of *Andrew Evans
> *Sent:* Monday, July 12, 2010 10:50 AM
> *To:* Discussion of IronPython
> *Subject:* [IronPython] compiling an executable with the standard library
>
>
>
> I am having problems compiling an executable. From what research I have
> done, I need to include in my compilation the python standard modules that I
> am using. How ever I can not figure out how to do this.
>
> Any advice would be appreciated here is the command I am using
>
> ipy <path to pyc>\pyc.py /main:<path to app>\p2pChat.py /target:exe
>
> these are the modules used in my script
>
> import socket
> from threading import *
>
> Thank you in advance
>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100712/1ae2bd64/attachment.html>


More information about the Ironpython-users mailing list