-
Notifications
You must be signed in to change notification settings - Fork 204
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
support Python 3.x #133
Comments
See http://packages.python.org/six/ for a compatibility layer. |
Documentation on porting to Python3: http://docs.python.org/dev/howto/pyporting.html The Python 2/3 Compatible Source is as special interest to me now, but I have no idea whether it's feasible while keeping the code reasonably clean. |
I'm not in for supporting Python 2.4 -> 3.2 2.6 -> 3.2 with the 2to3 tool gives you more readable code. I propose dropping python 2.4 support in EB 2.0 and making a bootstrap script that uses EB 1.9 to install python 2.6 and EB 2.x for you. But maybe we should look at our userbase and do a questionaire.
This will give us some guidelines, instead of guessing what people will want in the future. |
i don't know if this helps, but I suspect asking which distros people are On Tue, Oct 29, 2013 at 2:23 PM, Jens Timmerman [email protected]:
|
hey @boegel ! This issue is really old, but we are hitting the time when the sun is actually setting for python 2 for many of the distributions. For example (and I think there are others, but Ubuntu is what I use most) - https://wiki.ubuntu.com/Python/Python36Transition. What do you see as challenges to making this transition, other than updating a bunch of print / except / iteration lines? I'd be happy to help / give a shot at this (I think it will be more important as python2 is deprecated) if you want to discuss the potential issues. I'll include @shahzebsiddiqui in this discussion too! |
@vsoch we would follow this guide: https://portingguide.readthedocs.io/en/latest/process.html Our idea was to have a single codebase that supports both python2 and 3, having 2 releases with py2to3 seems brittle and cumbersome, especially if you target to eventually switch to python3 only. First part is to have our dependencies supporting python 3 Our team (HPC UGent) also develops vsc-install and vsc-base and we certainly would not mind getting some test branches with python3 support. vsc-install and vsc-base are transitioned this way we can start doing the same for easybuild. This has been on our plan for a few years now, but we feel no real pressure in our team to take on this task already, python2 will be supported by RedHat and CentOS for a few years to come, and we have limited python coding resources. Are you up for this task? |
Definitely! Would you like help with the dependency libraries or should I hold tight and start contribution for just easy build? If you can point me to the right places (links) I would be happy to take a shot at the first task too. |
@vsoch There's little point on starting to point EasyBuild when We need So, if you would like to contribute: The main modules we use there are:
|
@vsoch This may be helpful, to get an idea what you're getting into... hpcugent/vsc-base#142 |
Some progress on this, thanks to @vsoch:
|
Python 3.x support is one of the main goals now for the upcoming EasyBuild 4.0 (see easybuilders/easybuild#447); preliminary ETA is summer 2019 (but this will likely be revised at some point). There's been quite a bit of progress on this already in a separate All PRs related to Python 3 support are grouped under the |
Update: with #2789, the full framework test suite is passing with Python 3.6 🎉 |
Congrats!! |
More updates:
Successful builds using
So I'm calling it, I consider that EasyBuild is fully ported to Python 3 in the The plan is to include these changes in the EasyBuild v4.0 release that we intend to release by summer 2019. |
(old internal ticket 231)
We should try and make sure EasyBuild runs (correctly) with Python v3.x.
Supporting Python 2.4 -> 3.2 can be done in a single code base.
For example handling the changed named Exception syntax can be made to work in both 2.4 and 3.1 by using
The text was updated successfully, but these errors were encountered: