Yes, you can set the PYTHONHOME variable from .net prior to calling
the initialize.  Many of the python runtimes set registry keys or are
located in default locations.

mike

On 6/6/07, Barrett, Joey <[EMAIL PROTECTED]> wrote:
>
> Thank you for your response, this is helpful.
>
> The methods called usually return lists or dictionaries and sometimes
> other types too that need to be used within the C#.  In the example you
> provided the return value from InvokeMethod(), is a string "fromPython",
> but I noticed InvokeMethod() actually returns a PyObject.
>
> How can I look at that PyObject and extract the returned values?
>
> The classes I use import many modules from a number of locations on disk
> that aren't known to the interpreter.
>
> Is there a way to add to the PYTHONPATH programmatically in C# using the
> Python for .net library, or would it be required to write a wrapper
> python module that adds to the path first?  Maybe there is another way
> to handle this?
>
> Thank you again
>
> Joey J. Barrett
> Investment Technology Group, Inc.
>
> -----Original Message-----
> From: Karpenstein, Nissim (C-BASS)
> [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 06, 2007 6:37 AM
> To: Barrett, Joey; pythondotnet@python.org
> Subject: RE: [Python.NET] Could you tell me how to call python from c#?
>
> I tried to post this to the list yesterday but it bounced because of
> address issues...hopefully this will work:
>
> If you want to execute a python program from c-sharp you can just use
> System.Diagnostics.Process to execute python.exe and you don't need
> python for .net.
>
> Python for .net is more appropriate for if you want to execute a python
> function or create an instance of a python object and then run methods
> and access attributes from your C# program.
>
> The example you linked to is OK, except that he modified the
> Python.Runtime.Dll which is not necessary.
>
> If you had a Hello.py with a function called hello Like this:
>
> def hello():
>     return 'hello'
>
>
> You could do this in C#:
>
> PythonEngine.Initialize();
> PyObject helloModule = PythonEngine.ImportModule("Hello");
> String fromPython = helloModule.InvokeMethod("hello", new
> PyTuple()).ToString(); PythonEngine.Shutdown();
>
> // now fromPython = "hello"
>
> If your function takes an argument:
>
> def returnArg(arg):
>     return arg
>
> PythonEngine.Initialize();
> PyObject helloModule = PythonEngine.ImportModule("Hello");
> String fromPython = helloModule.InvokeMethod("returnArg", new
> PyObject[1] {new PyString("Test")}).ToString(); PythonEngine.Shutdown();
>
> // now fromPython = "test"
>
> ________________________________
>
>         From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Barrett, Joey
>         Sent: Tuesday, June 05, 2007 8:11 PM
>         To: pythondotnet@python.org
>         Subject: Re: [Python.NET] Could you tell me how to call python
> from c#?
>
>
>
>         Hi,
>
>
>
>         I also would be very interested in seeing some examples to "call
> python from c#" using "Python for .NET".  I have dug around Google and a
> number of forums---I can't find anything except the post from below.  I
> really hope I'm not missing the obvious somewhere.
>
>
>
>         IronPython is great but my needs require using a few c++
> extensions compiled for CPython (that can't be recompiled).
>
>
>
>         Also thanks in advance,
>
>
>
>         Joey J. Barrett
>
>         Investment Technology Group, Inc.
>
>
>
>
>
>
>
>
>
>         Hello, PythonNet!
>
>
>         I'm looking for some sample code to call python from C#.
>         Actually, I'd like to execute python program(let say 'Hello.py')
> from C#
>         with parameters.
>         Actually, I'm a newbie at both of languages. So, could you give
> sample
>         source code? I was looking for some guide or source for several
> days,
>         but I couldn't find it. What I've got so far from googling is
>
> http://mail.python.org/pipermail/pythondotnet/2003-November/000037.html,
>
>         but I can't understand it and old one.
>
>         Thank you in advance.
>         Seungweon.
>
>
>
>
>
>
> -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> -+-
>         This message is for the named person's use only. This
> communication is for
>         informational purposes only and has been obtained from sources
> believed to
>         be reliable, but it is not necessarily complete and its accuracy
> cannot be
>         guaranteed. It is not intended as an offer or solicitation for
> the purchase
>         or sale of any financial instrument or as an official
> confirmation of any
>         transaction. Moreover, this material should not be construed to
> contain any
>         recommendation regarding, or opinion concerning, any security.
> It may
>         contain confidential, proprietary or legally privileged
> information. No
>         confidentiality or privilege is waived or lost by any
> mistransmission. If
>         you receive this message in error, please immediately delete it
> and all
>         copies of it from your system, destroy any hard copies of it and
> notify the
>         sender. You must not, directly or indirectly, use, disclose,
> distribute,
>         print, or copy any part of this message if you are not the
> intended
>         recipient.  Any views expressed in this message are those of the
> individual
>         sender, except where the message states otherwise and the sender
> is
>         authorized to state them to be the views of any such entity.
>
>         Securities products and services provided to Canadian investors
> are offered
>         by ITG Canada Corp. (member CIPF and IDA), an affiliate of
> Investment
>         Technology Group, Inc.
>
>         ITG Inc. and/or its affiliates reserves the right to monitor and
> archive
>         all electronic communications through its network.
>
>         ITG Inc. Member NASD, SIPC
>
> -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> -+-
>
>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> This e-mail (including any attachments) may contain
> information that is private, confidential, or
> protected by attorney-client or other privilege.  If
> you received this e-mail in error, please delete it
> from your system without copying it and notify sender
> by reply e-mail, so that our records can be corrected.
> -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
> This message is for the named person's use only. This communication is for
> informational purposes only and has been obtained from sources believed to
> be reliable, but it is not necessarily complete and its accuracy cannot be
> guaranteed. It is not intended as an offer or solicitation for the purchase
> or sale of any financial instrument or as an official confirmation of any
> transaction. Moreover, this material should not be construed to contain any
> recommendation regarding, or opinion concerning, any security. It may
> contain confidential, proprietary or legally privileged information. No
> confidentiality or privilege is waived or lost by any mistransmission. If
> you receive this message in error, please immediately delete it and all
> copies of it from your system, destroy any hard copies of it and notify the
> sender. You must not, directly or indirectly, use, disclose, distribute,
> print, or copy any part of this message if you are not the intended
> recipient.  Any views expressed in this message are those of the individual
> sender, except where the message states otherwise and the sender is
> authorized to state them to be the views of any such entity.
>
> Securities products and services provided to Canadian investors are offered
> by ITG Canada Corp. (member CIPF and IDA), an affiliate of Investment
> Technology Group, Inc.
>
> ITG Inc. and/or its affiliates reserves the right to monitor and archive
> all electronic communications through its network.
>
> ITG Inc. Member NASD, SIPC
> -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
> _________________________________________________
> Python.NET mailing list - PythonDotNet@python.org
> http://mail.python.org/mailman/listinfo/pythondotnet
>
_________________________________________________
Python.NET mailing list - PythonDotNet@python.org
http://mail.python.org/mailman/listinfo/pythondotnet

Reply via email to