Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Python 3.5 #160

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed

Python 3.5 #160

wants to merge 5 commits into from

Conversation

vmuriart
Copy link
Contributor

No description provided.

sdpython and others added 5 commits February 21, 2016 14:24
from sdpython/pythonnet3
refactored all logical changes from just appending  python3.5 to everything
Removed some debug code from original changes, and cleaned up some changes
Seems like known historical issue?
@vmuriart vmuriart mentioned this pull request Feb 23, 2016
@tonyroberts
Copy link
Contributor

The more i think about this the more i think this is the wrong approach. Ifdef-ing for each python version is messy and error-prone. It should be simple enough to parse the python header files and generate this automatically as part of the build.

I'll put something together when I get a chance, but for now let's put trying to integrate this 3.5 branch on hold - at least until I've investigated the alternatives.

@vmuriart
Copy link
Contributor Author

@tonyroberts, had similar thoughts on the matter. PyWin32 has the same issue from what I've worked on so far on it. Though they simple specify a minimum required version for most of their code instead of specifying each version.

Would it be possible to address this as part of post 2.1 release? That is to merge this branch, and release 2.1 with all the available changes. Post 2.1 could focus on leaning out the code and speed improvement.
I think the correct solution may require some rewrite of many sections and would take a bit longer to implement correctly

@den-run-ai
Copy link
Contributor

There is swig way, and c++/cli + cppsharp. @tonyroberts are you thinking in
this direction?

I tried the latter with calling into sympy and got flooded with memory
leaks, if anyone is interested I can share the source code.

There is also cython and cffi if we wanted to build the bridge on python
side.

On Tuesday, February 23, 2016, Tony Roberts [email protected]
wrote:

The more i think about this the more i think this is the wrong approach.
Ifdef-ing for each python version is messy and error-prone. It should be
simple enough to parse the python header files and generate this
automatically as part of the build.

I'll put something together when I get a chance, but for now let's put
trying to integrate this 3.5 branch on hold - at least until I've
investigated the alternatives.


Reply to this email directly or view it on GitHub
#160 (comment).

@vmuriart
Copy link
Contributor Author

@denfromufa I would...

public static int am_await = 0;
public static int am_aiter = 0;
public static int am_anext = 0;
// } PyAsyncMethods
Copy link
Contributor

Choose a reason for hiding this comment

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

these are in the wrong place. They should be between ht_type and as_number.

@tonyroberts
Copy link
Contributor

@vmuriart @denfromufa I'm sorry but at the moment I have very low confidence in this PR. I've spotted a few flaws just from scanning through it, without really properly comparing it to the 3.5 memory layout. It may well work just because the few bits of it we use happen to be in the right place by virtue of the right number of items being added, but that's not really good enough. Details like this are very important to get right, otherwise there will be countless random crashes later that will be almost impossible to track down.

@vmuriart
Copy link
Contributor Author

@tonyroberts no problem. what are you thinking as far as next steps?

@vmuriart vmuriart closed this Feb 23, 2016
@tonyroberts
Copy link
Contributor

@vmuriart I'll check some code in later today or tomorrow.

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