-
Notifications
You must be signed in to change notification settings - Fork 33
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
python 2/3 compatibility #32
Comments
Can you elaborate on those compromises? I had both a Py2 and Py3 branch before, but they were getting too far apart, commit-wise, so I decided to merge them. I don't think I'll do separate 2/3 branches again, but I'll look into either Do you have a preference? |
The 'compromises' are specific to my system (Linux Mint); but may apply to other systems. The most current Linux Mint LTS and Ubuntu LTS support python 2x (out of box) and the default package manage supports wxPython for python 2x. I do know wxPython supports python 3x; but this is not available from the default package manager. Which means its painful to deploy wafer_map on anything other than my own custom built/configured system. I also have an interest in integrating wafer_map into an existing python 2x project. I can achieve this by rolling back to tag 1.0.6. But I was wondering if you were interested in supporting both python 2x and python 3x. I agree, two branches will diverge and become very messy, very quickly. But I also think the same is true if wafer_map_py2 was moved to a separate project. I'm not sure what's the best approach here. One option: the master branch supports python 2; and is forwards compatible with python 3. There are a few articles about making existing python 2x projects python 3x compatible; but I'm not sure how this works with third party packages e.g. does wxPython Py2 have identical function calls as wxPython Py3...? (I'm not sure). Related discussion on Python 2 vs Python 3 for new projects: As a stand-alone app, wafer_map is perfectly fine. The difficulty occurs when integrating wafer_map into Python 2 projects and systems that do not support Python 3 by default. |
I'll make it backwards-compatible, at least for a little while (~1yr, maybe? I haven't decided how long). I'm a big proponent of everyone moving away from 2.x, but if it helps you out than I'm more than happy to do it. |
That would be helpful. Thank you. It also means any improvements I make can be (optionally) pulled into the main branch. |
It turns out that there isn't much to do for Python2 compatibility. The hard part is wxPython 2.x compatibility. Are you OK with using wxPython-Phoenix on Py2.7? |
That should be ok. I'm running Py2.7 and just tried installing wxPython 3.0.2.0 from source. The build and install was successful, but the example.py is throwing error: "TypeError: in method 'Menu_Append', expected argument 2 of type 'int'". I'll document this error separately. Could be related to the wxPython version. |
Excuse me sir, can i recoding you wafer_map to come true a function that i can use mouse to choose area? you think it can come true easily? Last but no least this project can Compatible with wxpython2.x? |
Moving the project to python 3 appears to have a number of compromises. Do you have any interest in maintaining a python2 branch? Or making the project backwards compatible with python 2?
The text was updated successfully, but these errors were encountered: