Skip to content

Conversation

@leomeuk
Copy link

@leomeuk leomeuk commented Mar 13, 2016

Updates as described in #179.

I did look at calling Marshal.FreeHGlobal() in the PythonEngine.Shutdown() method after the call to shutdown Python is made, however it looks as though Python is doing the required memory tidy up.

Unit test has been created but is written to assume Python is installed at C:\Python27.

Assert.AreEqual(PythonEngine.PythonHome, homePath);
}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leomeuk you can get python path using this c# code which requires python interpreter:

dynamic pyos = Py.Import("os");
string homepath = pyos.path.dirname(pyos.path.dirname(pyos.__file__));

Note that PythonEngine.PythonPath is also "broken" like PythonEngine.PythonHome:

> #r "C:\Python\Python27\Lib\site-packages\Python.Runtime.dll"
> using Python.Runtime;
> PythonEngine.Initialize()
> PythonEngine.PythonPath
Hosting process exited with exit code -1073740940.
Loading context from 'CSharpInteractive.rsp'.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updating this PR and noticed this comment. I documented the issue with PythonEngine.PythonPath on #414. All the get functions were broken on 64bit python.

@den-run-ai
Copy link
Contributor

@leomeuk I added the comment inline in code, once your commit is ready please git squash it into one logical unit (commit) per contributing guidelines. Thanks!

@tonyroberts
Copy link
Contributor

Looks like this would leak the allocated string if python home was set twice? Is it safe to have Python deallocate the string allcated in .net? What happens if you deallocate it in Shutdown and set pythonhome to NULL, would that stop Python from trying to also deallocate the string?

@den-run-ai
Copy link
Contributor

@leomeuk can you please make a pull request against master branch? develop branch is deleted.

@den-run-ai
Copy link
Contributor

@tonyroberts I'm not worried about leaking just 1 or 2 strings, this fix is more important than a small leak.

@vmuriart vmuriart mentioned this pull request Mar 3, 2017
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants