Quantcast
Channel: Questions in topic: "error"
Viewing full articles (7934 articles)
Browse article index
↧

How to solve Error “ImportException: Cannot import name RAND_egd” on IronPython in Unity

$
0
0
I am currently working on a project that requires the detection of few dominant colors from a picture and getting their colors to map onto a real world object. I've been searching for a way to do so but after one month of searching I found that using K-mean cluttering from a python tutorial seems to be exactly what I wanted to do. So currently I would like to use IronPython to run the python script from Unity itself and send data back to Unity through Socket.IO. I received Error "ImportException: Cannot import name RAND_egd" when loading directory paths of python plugins and 3rd party plugins using IronPython on Unity This is the code I use to execute my python script (Just want to clarify I am not an expert in terms of coding) public void RunPython() { // 1) Create engine var engine = Python.CreateEngine(); // 2) Provide script and arguments var script = @"D:/[MY DIRECTORY]/Assets/Python/Simulator.py"; var source = engine.CreateScriptSourceFromFile(script); ICollection Paths = engine.GetSearchPaths(); Paths.Add("C:/Windows/SYSTEM32/python27.zip"); Paths.Add("C:/Python27/DLLs"); Paths.Add("C:/Python27/lib"); Paths.Add("C:/Python27/lib/plat-win"); Paths.Add("C:/Python27/lib/lib-tk"); Paths.Add("C:/Python27"); Paths.Add("C:/Users/[MY DIRECTORY]/AppData/Roaming/Python/Python27/site-packages"); Paths.Add("C:/Python27/lib/site-packages"); engine.SetSearchPaths(Paths); var argv = new List(); argv.Add(""); argv.Add("2019-1-1"); argv.Add("2019-1-22"); engine.GetSysModule().SetVariable("argv", argv); // 3) Output redirect var eIO = engine.Runtime.IO; var errors = new MemoryStream(); eIO.SetErrorOutput(errors, Encoding.Default); var results = new MemoryStream(); eIO.SetOutput(results, Encoding.Default); // 4) Execute script var scope = engine.CreateScope(); source.Execute(scope); // 5) Display output string str(byte[] x) => Encoding.Default.GetString(x); Console.WriteLine("ERRORS:"); Console.WriteLine(str(errors.ToArray())); Console.WriteLine(); Console.WriteLine("Results:"); Console.WriteLine(str(results.ToArray())); }
↧

Viewing full articles (7934 articles)
Browse article index

Latest Images

Trending Articles



Latest Images