-
Notifications
You must be signed in to change notification settings - Fork 180
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
Drop python2 support #2215
Drop python2 support #2215
Conversation
Note that these changes are not compatible with Python2.
- All executable Python scripts directly invoke /usr/bin/python3. - Separate testing of configure and build scripts using Python2 and Python3 no longer required. - Replace distutils.spawn.find_executable() with shutil.which(). - Activate more stringent pylint tests, with some limited corresponding code changes. - configure: Test presence of shlex.quote() and shutil.which(). - Remove mrtrix3.utils.STRING_TYPES, which is no longer required for testing the types of provided function arguments. - population_template: No longer need to bind Python2's raw_input() to input(). - mrtrix3.path: Remove quote() function: shlex.quote() should be used directly. - run_pylint: Remove capability for forcing Python version via environment variable. - Binary test data: Update vectorstats generation / testing scripts to use Python3.
All looks sensible, other than the first thing: changing the interpreter on the shebang to |
Ok, forget that last comment, it is indeed the recommendation on this PEP: |
CI is failing due to lots of these errors during
A quick look online reveals that this check is available as of pylint version 2.4. But the version dragged in by
which explains the errors. Previously, So, two options:
|
See if this addresses outdated version of pylint pulled by GitHub runner as commented in #2215.
See if this addresses outdated version of pylint pulled by GitHub runner as commented in #2215.
bc357ab
to
b4560ca
Compare
Installing |
Closes #2210.
Closes #2047.
Will eventually resolve #2190.
Should consider resolving #2191 here.
Made a bit of a list in 3a856ce as to what changed, but would appreciate some reflection on whether or not there's anywhere else in the code base that required gymnastics to support both Python 2 and 3 that I may have missed.