[IronPython] Problems running simple executable compiled with the pyc.py tool

2011-05-06 Thread iiyo cc
Hello,

I keep coming up with the same problem when trying to run a compiled
executable from the pyc.py tool. The error I'm getting is as follows:

Unhandled Exception: System.IO.FileNotFoundException: The system cannon find
 the file specified. (Exception from HRESULT: 0x80070002)
 at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence
 evidence)
 at System.Reflection.Assembly.LoadFile(String path)
 at PythonMain.Main()


My file is a simple Hello, World! program saved as Program.py with the
following contents:

print 'Hello, World!'


I use the following command line to compile:

C:\IronPy\ipy C:\IronPy\Tools\Scripts\pyc.py Program.py /out:Program
 /main:Program.py /target:exe


Note: I'm using the latest 2.7 release through the IronPython installer on a
Windows 7 64bit system, the executables are built (Program.dll and
Program.exe) successfully, yet won't run even when sitting in the same
directory as all the dlls one can find in the IronPython distribution. I've
also tried targeting the x64 platform specifically with pyc, but to no
avail. Here's what my working directory looks like when the project is
built:

IronPython.dll, IronPython.Modules.dll, IronPython.Wpf.dll,
 Microsoft.Dynamic.dll, Microsoft.Scripting.dll,
 Microsoft.Scripting.Metadata.dll, Program.dll, Program.exe, Program.py


Hopefully someone knows what's going on, or if i'm doing something wrong.
Thanks.
___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] Problems running simple executable compiled with the pyc.py tool

2011-05-06 Thread Dino Viehland
When running are Program.dll and Program.exe in the same location?  The reason 
I ask is that Program.exe will change the CWD to where it is currently located 
and then it'll attempt to load Program.dll from that directory.  That's the 
only thing that immediately comes to mind as having potential to break this for 
you.

Also, did you install IronPython via the MSI or by downloading the binary zip 
file?

I just tried this and it all seemed to work for me (I'm installed via the MSI 
so we can pick up the IronPython DLLs from the GAC):

C:\Users\dinov  type test.py
print('hi')
10:11:04.07
C:\Users\dinov  C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program 
Files (x86)\IronPython 2.7\Tools\Scripts\pyc.py /target:exe /out:test 
/main:test.py test.py
Input Files:
test.py
Output:
test
Target:
ConsoleApplication
Platform:
ILOnly
Machine:
I386
Compiling...
Saved to test

10:11:13.82
C:\Users\dinov  .\test.exe
hi


From: users-boun...@lists.ironpython.com 
[mailto:users-boun...@lists.ironpython.com] On Behalf Of iiyo cc
Sent: Friday, May 06, 2011 9:57 AM
To: users@lists.ironpython.com
Subject: [IronPython] Problems running simple executable compiled with the 
pyc.py tool

Hello,

I keep coming up with the same problem when trying to run a compiled executable 
from the pyc.py tool. The error I'm getting is as follows:
Unhandled Exception: System.IO.FileNotFoundException: The system cannon find 
the file specified. (Exception from HRESULT: 0x80070002)
at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
at System.Reflection.Assembly.LoadFile(String path)
at PythonMain.Main()

My file is a simple Hello, World! program saved as Program.py with the 
following contents:
print 'Hello, World!'

I use the following command line to compile:
C:\IronPy\ipy C:\IronPy\Tools\Scripts\pyc.py Program.py /out:Program 
/main:Program.py /target:exe

Note: I'm using the latest 2.7 release through the IronPython installer on a 
Windows 7 64bit system, the executables are built (Program.dll and Program.exe) 
successfully, yet won't run even when sitting in the same directory as all the 
dlls one can find in the IronPython distribution. I've also tried targeting the 
x64 platform specifically with pyc, but to no avail. Here's what my working 
directory looks like when the project is built:
IronPython.dll, IronPython.Modules.dll, IronPython.Wpf.dll, 
Microsoft.Dynamic.dll, Microsoft.Scripting.dll, 
Microsoft.Scripting.Metadata.dll, Program.dll, Program.exe, Program.py

Hopefully someone knows what's going on, or if i'm doing something wrong.
Thanks.
___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] Problems running simple executable compiled with the pyc.py tool

2011-05-06 Thread iiyo cc
I followed your example, and it worked perfectly for me. I then realized it
was my error all along - I assumed /out: could support directories (I had
actually used /out:build\Program because of the batch file used to generate
it), but this seems not to work in the way I'd imagined. Anyway, it's all
working properly now.

Thanks, and apologies for the stupidity!

On Fri, May 6, 2011 at 6:12 PM, Dino Viehland di...@microsoft.com wrote:

  When running are Program.dll and Program.exe in the same location?  The
 reason I ask is that Program.exe will change the CWD to where it is
 currently located and then it’ll attempt to load Program.dll from that
 directory.  That’s the only thing that immediately comes to mind as having
 potential to break this for you.



 Also, did you install IronPython via the MSI or by downloading the binary
 zip file?



 I just tried this and it all seemed to work for me (I’m installed via the
 MSI so we can pick up the IronPython DLLs from the GAC):



 C:\Users\dinov  type test.py

 print('hi')

 10:11:04.07

 C:\Users\dinov  C:\Program Files (x86)\IronPython 2.7\ipy.exe
 C:\Program Files (x86)\IronPython 2.7\Tools\Scripts\pyc.py /target:exe
 /out:test /main:test.py test.py

 Input Files:

 test.py

 Output:

 test

 Target:

 ConsoleApplication

 Platform:

 ILOnly

 Machine:

 I386

 Compiling...

 Saved to test



 10:11:13.82

 C:\Users\dinov  .\test.exe

 hi





 *From:* users-boun...@lists.ironpython.com [mailto:
 users-boun...@lists.ironpython.com] *On Behalf Of *iiyo cc
 *Sent:* Friday, May 06, 2011 9:57 AM
 *To:* users@lists.ironpython.com
 *Subject:* [IronPython] Problems running simple executable compiled with
 the pyc.py tool



 Hello,

 I keep coming up with the same problem when trying to run a compiled
 executable from the pyc.py tool. The error I'm getting is as follows:

 Unhandled Exception: System.IO.FileNotFoundException: The system cannon
 find the file specified. (Exception from HRESULT: 0x80070002)
 at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence
 evidence)
 at System.Reflection.Assembly.LoadFile(String path)
 at PythonMain.Main()


 My file is a simple Hello, World! program saved as Program.py with the
 following contents:

 print 'Hello, World!'


 I use the following command line to compile:

 C:\IronPy\ipy C:\IronPy\Tools\Scripts\pyc.py Program.py /out:Program
 /main:Program.py /target:exe


 Note: I'm using the latest 2.7 release through the IronPython installer on
 a Windows 7 64bit system, the executables are built (Program.dll and
 Program.exe) successfully, yet won't run even when sitting in the same
 directory as all the dlls one can find in the IronPython distribution. I've
 also tried targeting the x64 platform specifically with pyc, but to no
 avail. Here's what my working directory looks like when the project is
 built:

 IronPython.dll, IronPython.Modules.dll, IronPython.Wpf.dll,
 Microsoft.Dynamic.dll, Microsoft.Scripting.dll,
 Microsoft.Scripting.Metadata.dll, Program.dll, Program.exe, Program.py


 Hopefully someone knows what's going on, or if i'm doing something wrong.
 Thanks.

 ___
 Users mailing list
 Users@lists.ironpython.com
 http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] Problems running simple executable compiled with the pyc.py tool

2011-05-06 Thread Dino Viehland
Feel free to open a bug on supporting directories - it seems pretty reasonable 
to expect that to work.

From: users-boun...@lists.ironpython.com 
[mailto:users-boun...@lists.ironpython.com] On Behalf Of iiyo cc
Sent: Friday, May 06, 2011 11:02 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Problems running simple executable compiled with the 
pyc.py tool

I followed your example, and it worked perfectly for me. I then realized it was 
my error all along - I assumed /out: could support directories (I had actually 
used /out:build\Program because of the batch file used to generate it), but 
this seems not to work in the way I'd imagined. Anyway, it's all working 
properly now.

Thanks, and apologies for the stupidity!
On Fri, May 6, 2011 at 6:12 PM, Dino Viehland 
di...@microsoft.commailto:di...@microsoft.com wrote:
When running are Program.dll and Program.exe in the same location?  The reason 
I ask is that Program.exe will change the CWD to where it is currently located 
and then it'll attempt to load Program.dll from that directory.  That's the 
only thing that immediately comes to mind as having potential to break this for 
you.

Also, did you install IronPython via the MSI or by downloading the binary zip 
file?

I just tried this and it all seemed to work for me (I'm installed via the MSI 
so we can pick up the IronPython DLLs from the GAC):

C:\Users\dinov  type test.py
print('hi')
10:11:04.07
C:\Users\dinov  C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program 
Files (x86)\IronPython 2.7\Tools\Scripts\pyc.py /target:exe /out:test 
/main:test.py test.py
Input Files:
test.py
Output:
test
Target:
ConsoleApplication
Platform:
ILOnly
Machine:
I386
Compiling...
Saved to test

10:11:13.82
C:\Users\dinov  .\test.exe
hi


From: 
users-boun...@lists.ironpython.commailto:users-boun...@lists.ironpython.com 
[mailto:users-boun...@lists.ironpython.commailto:users-boun...@lists.ironpython.com]
 On Behalf Of iiyo cc
Sent: Friday, May 06, 2011 9:57 AM
To: users@lists.ironpython.commailto:users@lists.ironpython.com
Subject: [IronPython] Problems running simple executable compiled with the 
pyc.py tool

Hello,

I keep coming up with the same problem when trying to run a compiled executable 
from the pyc.py tool. The error I'm getting is as follows:
Unhandled Exception: System.IO.FileNotFoundException: The system cannon find 
the file specified. (Exception from HRESULT: 0x80070002)
at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
at System.Reflection.Assembly.LoadFile(String path)
at PythonMain.Main()

My file is a simple Hello, World! program saved as Program.py with the 
following contents:
print 'Hello, World!'

I use the following command line to compile:
C:\IronPy\ipy C:\IronPy\Tools\Scripts\pyc.py Program.py /out:Program 
/main:Program.py /target:exe

Note: I'm using the latest 2.7 release through the IronPython installer on a 
Windows 7 64bit system, the executables are built (Program.dll and Program.exe) 
successfully, yet won't run even when sitting in the same directory as all the 
dlls one can find in the IronPython distribution. I've also tried targeting the 
x64 platform specifically with pyc, but to no avail. Here's what my working 
directory looks like when the project is built:
IronPython.dll, IronPython.Modules.dll, IronPython.Wpf.dll, 
Microsoft.Dynamic.dll, Microsoft.Scripting.dll, 
Microsoft.Scripting.Metadata.dll, Program.dll, Program.exe, Program.py

Hopefully someone knows what's going on, or if i'm doing something wrong.
Thanks.

___
Users mailing list
Users@lists.ironpython.commailto:Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] Problems running simple executable compiled with the pyc.py tool

2011-05-06 Thread iiyo cc
Alright, I've come upon another problem, this time with using /target:winexe
with a wpf type project. It seems to crash without any kind of error. I also
noticed some curious things about the parameter order.
Here's the sample source I used to test: wpf.py and wpf.xaml -
http://codepad.org/XRLF8OSc

Compiling with:

 C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program Files
 (x86)\IronPython 2.7\Tools\Scripts\pyc.py /out:wpf /target:winexe
 /main:wpf.py wpf.py

For some reason, this will compile as a Console Application type

Changing the order:

 C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program Files
 (x86)\IronPython 2.7\Tools\Scripts\pyc.py /out:wpf  /main:wpf.py
 /target:winexe wpf.py

This compiles correctly, although it simply crashes on load.

Any ideas? Is it possible to compile if using wpf? I'm lost here - enjoying
IronPython, but its distribution sure is hell.


 On Fri, May 6, 2011 at 7:04 PM, Dino Viehland di...@microsoft.com wrote:

  Feel free to open a bug on supporting directories – it seems pretty
 reasonable to expect that to work.



 *From:* users-boun...@lists.ironpython.com [mailto:
 users-boun...@lists.ironpython.com] *On Behalf Of *iiyo cc
 *Sent:* Friday, May 06, 2011 11:02 AM
 *To:* Discussion of IronPython
 *Subject:* Re: [IronPython] Problems running simple executable compiled
 with the pyc.py tool



 I followed your example, and it worked perfectly for me. I then realized it
 was my error all along - I assumed /out: could support directories (I had
 actually used /out:build\Program because of the batch file used to generate
 it), but this seems not to work in the way I'd imagined. Anyway, it's all
 working properly now.

 Thanks, and apologies for the stupidity!

 On Fri, May 6, 2011 at 6:12 PM, Dino Viehland di...@microsoft.com wrote:

 When running are Program.dll and Program.exe in the same location?  The
 reason I ask is that Program.exe will change the CWD to where it is
 currently located and then it’ll attempt to load Program.dll from that
 directory.  That’s the only thing that immediately comes to mind as having
 potential to break this for you.



 Also, did you install IronPython via the MSI or by downloading the binary
 zip file?



 I just tried this and it all seemed to work for me (I’m installed via the
 MSI so we can pick up the IronPython DLLs from the GAC):



 C:\Users\dinov  type test.py

 print('hi')

 10:11:04.07

 C:\Users\dinov  C:\Program Files (x86)\IronPython 2.7\ipy.exe
 C:\Program Files (x86)\IronPython 2.7\Tools\Scripts\pyc.py /target:exe
 /out:test /main:test.py test.py

 Input Files:

 test.py

 Output:

 test

 Target:

 ConsoleApplication

 Platform:

 ILOnly

 Machine:

 I386

 Compiling...

 Saved to test



 10:11:13.82

 C:\Users\dinov  .\test.exe

 hi





 *From:* users-boun...@lists.ironpython.com [mailto:
 users-boun...@lists.ironpython.com] *On Behalf Of *iiyo cc
 *Sent:* Friday, May 06, 2011 9:57 AM
 *To:* users@lists.ironpython.com
 *Subject:* [IronPython] Problems running simple executable compiled with
 the pyc.py tool



 Hello,

 I keep coming up with the same problem when trying to run a compiled
 executable from the pyc.py tool. The error I'm getting is as follows:

 Unhandled Exception: System.IO.FileNotFoundException: The system cannon
 find the file specified. (Exception from HRESULT: 0x80070002)
 at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence
 evidence)
 at System.Reflection.Assembly.LoadFile(String path)
 at PythonMain.Main()


 My file is a simple Hello, World! program saved as Program.py with the
 following contents:

 print 'Hello, World!'


 I use the following command line to compile:

 C:\IronPy\ipy C:\IronPy\Tools\Scripts\pyc.py Program.py /out:Program
 /main:Program.py /target:exe


 Note: I'm using the latest 2.7 release through the IronPython installer on
 a Windows 7 64bit system, the executables are built (Program.dll and
 Program.exe) successfully, yet won't run even when sitting in the same
 directory as all the dlls one can find in the IronPython distribution. I've
 also tried targeting the x64 platform specifically with pyc, but to no
 avail. Here's what my working directory looks like when the project is
 built:

 IronPython.dll, IronPython.Modules.dll, IronPython.Wpf.dll,
 Microsoft.Dynamic.dll, Microsoft.Scripting.dll,
 Microsoft.Scripting.Metadata.dll, Program.dll, Program.exe, Program.py


 Hopefully someone knows what's going on, or if i'm doing something wrong.
 Thanks.


 ___
 Users mailing list
 Users@lists.ironpython.com
 http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



 ___
 Users mailing list
 Users@lists.ironpython.com
 http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi

Re: [IronPython] Problems running simple executable compiled with the pyc.py tool

2011-05-06 Thread Dino Viehland
I see a couple of things going on here:
The choice of wpf as your compiled name is unfortunate.  When 
we execute your import wpf is actually just bringing in your own module 
rather than bringing in the real wpf module.
But even if you change the name it's still broken because we 
don't pick up the IronPython.Wpf.dll  which is in the DLLs directory of the 
IronPython install.

I'm not exactly sure what the best fix for the latter issue is -we probably 
need to try looking into the registry, seeing where IronPython is installed, 
and adding any references to the DLLs directory there for compiled apps.  Not 
sure if there's something better we could do though.

But you can work around it easily enough, you just need to add:

import clr
clr.AddReference('IronPython.Wpf')

before the import wpf and make sure that IronPython.Wpf.dll is in the same dir 
as your app (we don't GAC this DLL).

Then compiling with this command line worked for me:

C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program Files 
(x86)\IronPython 2.7\Tools\Scripts\pyc.py /out:wpfx /main:wpfx.py wpfx.py 
/target:winexe

The way I debugged this was I compiled as a normal EXE so I could see the stack 
trace when things went wrong.  Once I got to this exception:

Unhandled Exception: System.InvalidOperationException: The calling thread must 
be STA, because many UI components require this.
   at System.Windows.Input.InputManager..ctor()
   at System.Windows.Input.InputManager.GetCurrentInputManagerImpl()
   at System.Windows.Input.KeyboardNavigation..ctor()
   at System.Windows.FrameworkElement.EnsureFrameworkServices()
   at System.Windows.FrameworkElement..ctor()
   at System.Windows.Controls.Control..ctor()
   at System.Windows.Window..ctor()

Then I switched back to compiling as a winexe.

The argument parsing in pyc.py definitely sucks, it should probably be switched 
to using a std lib arg parser.Contributions are welcome if you'd like to 
improve any of this!

From: users-boun...@lists.ironpython.com 
[mailto:users-boun...@lists.ironpython.com] On Behalf Of iiyo cc
Sent: Friday, May 06, 2011 1:32 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Problems running simple executable compiled with the 
pyc.py tool

Alright, I've come upon another problem, this time with using /target:winexe 
with a wpf type project. It seems to crash without any kind of error. I also 
noticed some curious things about the parameter order.
Here's the sample source I used to test: wpf.py and wpf.xaml - 
http://codepad.org/XRLF8OSc

Compiling with:
C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program Files 
(x86)\IronPython 2.7\Tools\Scripts\pyc.py /out:wpf /target:winexe /main:wpf.py 
wpf.py
For some reason, this will compile as a Console Application type

Changing the order:
C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program Files 
(x86)\IronPython 2.7\Tools\Scripts\pyc.py /out:wpf  /main:wpf.py 
/target:winexe wpf.py
This compiles correctly, although it simply crashes on load.

Any ideas? Is it possible to compile if using wpf? I'm lost here - enjoying 
IronPython, but its distribution sure is hell.

On Fri, May 6, 2011 at 7:04 PM, Dino Viehland 
di...@microsoft.commailto:di...@microsoft.com wrote:
Feel free to open a bug on supporting directories - it seems pretty reasonable 
to expect that to work.

From: 
users-boun...@lists.ironpython.commailto:users-boun...@lists.ironpython.com 
[mailto:users-boun...@lists.ironpython.commailto:users-boun...@lists.ironpython.com]
 On Behalf Of iiyo cc
Sent: Friday, May 06, 2011 11:02 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Problems running simple executable compiled with the 
pyc.py tool

I followed your example, and it worked perfectly for me. I then realized it was 
my error all along - I assumed /out: could support directories (I had actually 
used /out:build\Program because of the batch file used to generate it), but 
this seems not to work in the way I'd imagined. Anyway, it's all working 
properly now.

Thanks, and apologies for the stupidity!
On Fri, May 6, 2011 at 6:12 PM, Dino Viehland 
di...@microsoft.commailto:di...@microsoft.com wrote:
When running are Program.dll and Program.exe in the same location?  The reason 
I ask is that Program.exe will change the CWD to where it is currently located 
and then it'll attempt to load Program.dll from that directory.  That's the 
only thing that immediately comes to mind as having potential to break this for 
you.

Also, did you install IronPython via the MSI or by downloading the binary zip 
file?

I just tried this and it all seemed to work for me (I'm installed via the MSI 
so we can pick up the IronPython DLLs from the GAC):

C:\Users\dinov  type test.py
print('hi')
10:11:04.07
C:\Users\dinov  C:\Program Files (x86)\IronPython 2.7\ipy.exe C:\Program 
Files (x86)\IronPython 2.7\Tools\Scripts\pyc.py /target:exe /out:test 
/main:test.py test.py
Input Files:
test.py
Output