[Python.NET] Setting PYTHONPATH from code
Lukáš Duběda
loocas at duber.cz
Wed Feb 23 14:44:29 CET 2011
Hi Sharon,
I don't use Python.NET, but I use IronPython and this is a snippet
I use to add PYTHONPATH to the sys.path object:
I use system variables to do so (for various reasons) at the studio.
import sys
from System import Environment as sysEnv
PythonPath = sysEnv.GetEnvironmentVariable('PYTHONPATH')
sys.path.extend(PythonPath.split(';'))
Hope this helps.
Lukáš Duběda
Director
[T] +420 602 444 164
duber studio(tm)
[M] info at duber.cz
[W] http://www.duber.cz
[A] R.A.Dvorského 601, Praha 10
[A] 10900, Czech Republic, Europe
On 23.2.2011 14:37, Sharon Rozenblum wrote:
> Hi!
>
> Trying to do as you said:
>
> string script = "import sys\nsys.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 at gmail.com]
> *Sent:* Thursday, February 10, 2011 2:21 PM
> *To:* Sharon Rozenblum
> *Cc:* pythondotnet at 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 at sandisk.com
> <mailto:Sharon.Rozenblum at 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 at python.org
> <mailto:PythonDotNet at python.org>
> http://mail.python.org/mailman/listinfo/pythondotnet
>
>
>
>
> --
> oleksii
>
>
>
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> http://mail.python.org/mailman/listinfo/pythondotnet
More information about the PythonDotNet
mailing list