protected void SetBinDir() { if (Environment.OSVersion.Platform == PlatformID.Win32NT && !VirtualEnvActivated && VirtualEnvDir != null && VirtualEnvDir.GetDirectories().Any(d => d.Name.ToLower() == "scripts")) { binDir = VirtualEnvDir.GetDirectories().First(d => d.Name.ToLower() == "scripts").FullName; } }
protected void SetPythonPath() { string ppath = Environment.GetEnvironmentVariable("PYTHONPATH"); if (Environment.OSVersion.Platform == PlatformID.Win32NT && VirtualEnvDir != null && ppath.IsEmpty() && VirtualEnvDir.GetDirectories().Any(d => d.Name.ToLower() == "lib")) { DirectoryInfo lib = VirtualEnvDir.GetDirectories().First(d => d.Name.ToLower() == "lib"); if (lib.GetDirectories().Any(d => d.Name.ToLower() == "site-packages")) { string site_packages = lib.GetDirectories().First(d => d.Name.ToLower() == "site-packages").FullName; Info("Incuding virtual environment user modules directory {0}.", site_packages); PythonEngine.PythonPath += ";{0}".F(site_packages); } } else if (Environment.OSVersion.Platform == PlatformID.Unix && !VirtualEnvActivated && VirtualEnvDir != null && ppath.IsEmpty() && VirtualEnvDir.GetDirectories().Any(d => d.Name.ToLower() == "lib")) { DirectoryInfo lib = VirtualEnvDir.GetDirectories().First(d => d.Name.ToLower() == "lib"); if (lib.GetDirectories().Any(d => d.Name.ToLower() == "python3.6")) { DirectoryInfo python36 = lib.GetDirectories().First(d => d.Name.ToLower() == "python3.6"); if (python36.GetDirectories().Any(d => d.Name.ToLower() == "site-packages")) { string site_packages = python36.GetDirectories().First(d => d.Name.ToLower() == "site-packages").FullName; Info("Incuding virtual environment user modules directory {0}.", site_packages); PythonEngine.PythonPath += ";{0}".F(site_packages); } } } /* * IntPtr path = PySys_GetObject("path"); * IntPtr item = PyString_FromString(rtdir); * PyList_Append(path, item); * XDecref(item); */ Info("Python user module paths are: {0}.", PythonEngine.PythonPath); }