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-boun...@lists.ironpython.com 
[mailto:users-boun...@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@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to