
Hi!
Checked again and found that I had in the end of the module path string the char:"\".
After deleting it - it works for me as oleksii.bidiuk said:
string script = "import sys\nsys.path.insert(0, '" + <variable_with_path> + "')"); IntPtr pythonLock = AcquireLock(); RunSimpleString(script); ReleaseLock(pythonLock);
( with the "\n" delimiter!)
Thanks to all!
SHARON
From: Sharon Rozenblum Sent: Monday, February 28, 2011 3:49 PM To: 'Benjamin Aranguren' Cc: pythondotnet@python.org Subject: RE: [Python.NET] Setting PYTHONPATH from code
Hi!
Tried after your mail.
Does not change...
Regarding the PYTHONPATH:
I change it with code (System.Environment.SetEnvironmentVariable("PYTHONPATH",PathValue)) and it does not help me at the first run of the application. (I am getting Null value from the ImportModule) But, after closing the application & opening it again it works (event if changing the PYTHONPATH in the code) with the PYTHONPATH that was set in the run before...
Any Idea?
Thanks,
SHARON
From: baranguren@gmail.com [mailto:baranguren@gmail.com] On Behalf Of Benjamin Aranguren Sent: Sunday, February 27, 2011 6:08 PM To: Sharon Rozenblum Cc: pythondotnet@python.org Subject: Re: [Python.NET] Setting PYTHONPATH from code
On Wed, Feb 23, 2011 at 5:37 AM, Sharon Rozenblum <Sharon.Rozenblum@sandisk.commailto:Sharon.Rozenblum@sandisk.com> wrote: Hi!
Trying to do as you said:
string script = "import sys\nsys.path.insert(0, '" + modulePath + "')"; Have you tried using a semi colon instead of new line? string script = "import sys; sys.path.insert(0, '" + modulePath + "')";
IntPtr pythonLock = PythonEngine.AcquireLock();
PythonEngine.RunSimpleString(script); PythonEngine.ReleaseLock(pythonLock);
And then:
IntPtr gs = PythonEngine.AcquireLock();
pyportal = PythonEngine.ImportModule(moduleName); if (pyportal == null) { ... } ...
I got Null value from the ImportModule.
When setting the PYTHONPATH manually in the system variables with the "modulePath" and opening the VS is works.
Any idea?
Thanks,
SAHRON
From: Oleksii Bidiuk [mailto:oleksii.bidiuk@gmail.commailto:oleksii.bidiuk@gmail.com] Sent: Thursday, February 10, 2011 2:21 PM To: Sharon Rozenblum Cc: pythondotnet@python.orgmailto:pythondotnet@python.org Subject: Re: [Python.NET] Setting PYTHONPATH from code
Hi Sharon,
What do you want to achieve with this? If you want to provide path for loading your own modules you can change the sys.path value by e.g. running a 'initialization' script with
import sys sys.path.insert(0, 'your/own/path')
You can build up the script above in C# by inserting the path you need and then performing e.g. RunSimpleString(<script>) like
string script = "import sys\nsys.path.insert(0, '" + <variable_with_path> + "')"); IntPtr pythonLock = AcquireLock(); RunSimpleString(script); ReleaseLock(pythonLock);
Does this help?
2011/2/10 Sharon Rozenblum <Sharon.Rozenblum@sandisk.commailto:Sharon.Rozenblum@sandisk.com> Hi!
Can someone tell me how to set PYTHONPATH variable in code when working with Python.Runtime.dll without changing the value in the system variables before.
Thanks
SHARON
________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
_________________________________________________ Python.NET mailing list - PythonDotNet@python.orgmailto:PythonDotNet@python.org http://mail.python.org/mailman/listinfo/pythondotnet
-- oleksii
_________________________________________________ Python.NET mailing list - PythonDotNet@python.orgmailto:PythonDotNet@python.org http://mail.python.org/mailman/listinfo/pythondotnet