[IronPython] Talk to Python script from C# app...

Curt Hagenlocher curt at hagenlocher.org
Fri Jun 13 15:38:11 PDT 2008


If this test worked, you should be able to just copy them onto the users'
machine -- manually or using an installer.

On Fri, Jun 13, 2008 at 3:28 PM, Bob Rosembob <brosembob at yahoo.com> wrote:

>  I added bunch of files (.py), one at the time, before I could run the
> script and it works now.
> Do I need to include them into my installer and just copy them on the
> user's machine or I'll have to do something more then that?
>
> Thanks for your help,
> Bob
>
>  ----- Original Message ----
> From: Curt Hagenlocher <curt at hagenlocher.org>
> To: Discussion of IronPython <users at lists.ironpython.com>
>  Sent: Friday, June 13, 2008 1:51:23 PM
> Subject: Re: [IronPython] Talk to Python script from C# app...
>
> There will be a "string.py" in the lib directory of your Python 2.5
> installation.  You may need other files from this directory as well.
>
> On Fri, Jun 13, 2008 at 10:30 AM, Bob Rosembob <brosembob at yahoo.com>
> wrote:
>
>>  Curt,
>> I copied all the files (app.exe + cycle.py + python.exe + python25.dll)
>> to another PC, which doesn't have Python installed, and ran it. I got error
>> saying that it can't import string module (No module named string). Any
>> ideas?
>>
>> Thanks,
>> Bob
>>
>>  ----- Original Message ----
>> From: Curt Hagenlocher <curt at hagenlocher.org>
>> To: Discussion of IronPython <users at lists.ironpython.com>
>>  Sent: Thursday, June 12, 2008 3:18:09 PM
>> Subject: Re: [IronPython] Talk to Python script from C# app...
>>
>> Whether it's CPython or IronPython, you're going to have to deploy
>> something to the user's PC if you want to run a Python program there.
>> IronPython doesn't have any kind of installer; you just copy its modules
>> over with your application.  But your program almost certainly makes use of
>> parts of the standard CPython library, which you'd then have to copy over as
>> well.
>>
>> Even though CPython has an installer under Windows, I suspect you can
>> still do an "xcopy deployment" of it to most machines provided that you also
>> grab a copy of Python25.dll from the Windows directory.
>> To try with IronPython,
>> You can run ipy.exe the same way as you're running python.exe.  But you'd
>> want to try this from a command prompt first before going to the trouble of
>> changing your C# program.
>> On Wed, Jun 11, 2008 at 3:40 PM, Bob Rosembob <brosembob at yahoo.com>
>> wrote:
>>
>>>  Thank you Michael and Curt for your quick response.
>>> I got the script working using the following logic:
>>>
>>>
>>>
>>> private
>>> Process P;
>>>
>>> ...
>>>
>>> string python = @"C:\Python25\python.exe";
>>>
>>> string pyscript = @"IronPython\cycle_LR.py";
>>>
>>> P =
>>> new Process();
>>>
>>> P.OutputDataReceived +=
>>> new DataReceivedEventHandler(OnOutputDataReceived);
>>>
>>> P.ErrorDataReceived +=
>>> new DataReceivedEventHandler(OnErrorReceived);
>>>
>>> P.StartInfo.UseShellExecute =
>>> false;
>>>
>>> P.StartInfo.RedirectStandardOutput =
>>> true;
>>>
>>> P.StartInfo.RedirectStandardError =
>>> true;
>>>
>>> P.StartInfo.CreateNoWindow =
>>> true;
>>>
>>> P.StartInfo.FileName = @python.ToString();
>>>
>>> P.StartInfo.Arguments =
>>> "-u " + pyscript.ToString() + @" IronPython\cycle.ini";
>>>
>>> P.Start();
>>>
>>> P.BeginOutputReadLine();
>>>
>>> P.BeginErrorReadLine();
>>>
>>>
>>> As you probably guessed I installed latest Python 2.5.2 on my machine.
>>>
>>> Now, do I need to include Python 2.5.2 into my deployment package and
>>> install it on the user's PC or I can some how embed it into my application?
>>>
>>>
>>>
>>> >>If the former then you can use System.Process to launch the script with
>>>
>>> >>IronPython. You will need to download (rather than install) and launch
>>> >>the script with 'ipy.exe args...'.
>>>
>>>
>>>
>>> Wouldn't this approach be simpler, since I don't have to install python
>>> on user's PC? How exactly can I run ipy.exe with the args?
>>>
>>> Curt,
>>>
>>> The script that I have to use was created in 2004 and probably was not
>>> tested with IronPython. The guy who created it left the company and nobody
>>> modified the script since.
>>>
>>>
>>> Thank you very much,
>>>
>>> Bob
>>>
>>>
>>>
>>>
>>>  ----- Original Message ----
>>> From: Michael Foord <fuzzyman at voidspace.org.uk>
>>> To: Discussion of IronPython <users at lists.ironpython.com>
>>> Sent: Wednesday, June 11, 2008 1:29:27 PM
>>> Subject: Re: [IronPython] Talk to Python script from C# app...
>>>
>>> Hello Bob,
>>>
>>> The question is, do you want to run it in the same way you would launch
>>> any command line application from C# and collect the results from
>>> standard out - or do you want to embed IronPython and run the script
>>> 'inside' your application?
>>>
>>> If the former then you can use System.Process to launch the script with
>>> IronPython. You will need to download (rather than install) and launch
>>> the script with 'ipy.exe args...'.
>>>
>>> If the latter then how you do it depends on whether you use IronPython 1
>>> or 2 and what exactly your use case is.
>>>
>>> Michael Foord
>>> http://www.ironpythoninaction.com/
>>>
>>> Bob Rosembob wrote:
>>> > Hello there,
>>> > I have a C# application and a 3rd party Python script that the
>>> > application should run. The script is called periodical with some
>>> > arguments, performs some calculations and returns the results. I'm
>>> > running Vista & VS2005.
>>> >
>>> > What should I do to run the script from my application? I assume I
>>> > need to install IronPython on my PC. How exactly should I do it?
>>> >
>>> > Thanks for your help.
>>> >
>>> > Bob
>>> >
>>> >
>>> ------------------------------------------------------------------------
>>> >
>>> > _______________________________________________
>>> > Users mailing list
>>> > Users at lists.ironpython.com
>>> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>> >
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.ironpython.com
>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.ironpython.com
>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>>
>>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>
>
> _______________________________________________
> 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://lists.ironpython.com/pipermail/users-ironpython.com/attachments/20080613/aa055b58/attachment-0001.htm>


More information about the Users mailing list