- Notifications
You must be signed in to change notification settings - Fork768
Modernisation#1015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Modernisation#1015
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Drops also- Custom XDecref/XIncref (should be readded)- Remote object handling for .NET Framework
Contrary to what I said before, I don't think trying to providea single DLL for Python 2 and 3. We will in the future defaultto Python 3, and if someone really wants Python 2, for a whilewe will support a separate compile configuration for that.
Jeff17Robbins commentedDec 17, 2019
Is the intention to only support Python3.8? |
filmor commentedDec 17, 2019
The intention is to support at least all Python 3 versions from 3.5 onwards. The Python (3) API and ABI is mostly backwards-compatible for our purposes. The one comment on Python 3.8 just refers tohttps://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build, which allows us to use the exact same build even for Debug Pythons from 3.8 onwards. |
Jeff17Robbins commentedDec 17, 2019
How can a single As#995 demonstrated, the Python team continues to change the internals of |
filmor commentedDec 17, 2019
@Jeff17Robbins No, it didn't change. The problem was that they changed the /meaning/ of one of the slots and it now used a different type (same size, though). The structure as such hasn't changed in the Python 3 line, just reusage of deprecated slots and addition of new ones at the end. |
Jeff17Robbins commentedDec 17, 2019 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@filmor I think it actually did change. You are correct that the new field But, they also added two new fields right after These two new fields change all the offsets of the fields that are defined after them. The structure thusis a different size, and fields we care about, like If you diff |
filmor commentedDec 17, 2019
Meh. Ah well, I'll add this back in due time, but probably in form of a hash-table that is stored in a resource stream instead of autogenerated code. Thanks for the hint :) |
Jeff17Robbins commentedDec 17, 2019
Maybe we can create some kind of "sanity check" on the automated process that generates the hash-table to make sure that |
zivillian commentedFeb 20, 2020
I looked at this branch today and it is currently broken for VS2019. Even after adding the missing projects to the .sln and fixing the Project SDK -<Project Sdk="Microsoft.NET.Test.Sdk">+<Project Sdk="Microsoft.NET.Sdk"> it throws errors about missing properties and methods like Python.Runtime.Runtime.pyversionPython.Runtime.Runtime.MachinePython.Runtime.Runtime.MachineNamePython.Runtime.Runtime.OperatingSystemPython.Runtime.Runtime.OperatingSystemNamePython.Runtime.Runtime.Py_Initialize() Am I looking at the incorrect source, or is there anything missing? |
Ongoing development to get to a .NET Standard only, platform-independent and Python version agnostic version of Python.NET that runs on .NET Framework, .NET Core and Mono (and hopefully also the respective AoT variants).