-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use of Python2 #81
Comments
We're aware of the reasons to make this change, the problem is the time needed to do so. phyloscanner was mostly developed 7-9 years ago and academic scientific funding mechanisms rarely span such time scales. That's not to say all support for phyloscanner has been dropped - for the foreseeable future we will address any errors in the code - but the support depends on the issue. As the code is not covered with unit tests, making sweeping changes throughout carries a risk of errors which need to be considered carefully, not just implementing automated 2 to 3 conversions. One example is that Python 2 retains in memory variables used within local scopes whereas Python 3 does not. Another is that differences in dependencies between 2 and 3 can result in unimportant/stochastic differences for output which need to be chased down in the non-automated testing. For phyloscanner's sister software shiver, converting from 2 to 3 last year was 8 days of work. Finding that time, unfunded, will hopefully happen eventually but not in the upcoming few months. |
Thanks for the feedback, much appreciated, and I know about the problems of maintaining code when the funding has run out. However, wearing my IT hat now, that is the end of the software as either there will be an update to Python-3, or nobody will be able to use it in a safe manner. Sorry if that sounds harsh but that is the reality. It does not reflect on the software or any of the people who are supporting it. I fully understand the problems you are having with the testing and it is good to read you are quite thorough here! One possible solution might be to get a hackaton going maybe? At least that way the burden is shared with the community and it is then only the testing which needs some time. Have you considered that? |
Some of the code is using Python-2, which is not only deprecated but all development has been stopped. In fact, more modern Linux Distributions like the RHEL-8 do not distribute it any more.
Thus, it would be highly appreciated to stop using an outdated and no longer supported Python version. Apart from this is a security risk, it prevents us to install the software on our HPC cluster.
I am aware there are a few Python scripts but given there only has been a release recently and given Python-3 is around for quite some time, it would be good to get that fixed to make the otherwise very useful software future proof. Ideally, one should start with a more recent Python version like 3.11. for example.
Containers are not a good solution on a HPC cluster as they are sometimes having other issues like security, if an outdated OS for example is being used.
The text was updated successfully, but these errors were encountered: