Exemple #1
0
 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;
     }
 }
Exemple #2
0
        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);
        }