-
Notifications
You must be signed in to change notification settings - Fork 532
Drop distutils
#3439
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
Comments
@satra I think I'm going to need your input on the above questions. |
your plan seems good on all accounts. if necessary, we could probably concoct our own Version function. i wrote one that covers simple versioning. regarding the slicer generate classes, it should probable move into tools. it is use to generate the python classes from slicer's executables. but since we have not run it in a while, i think fine to make a note and update later. |
Since nipype 1.8.0 is targeting Python 3.7, why not just use |
Because we use |
I see, and the
|
Strict versions may be brittle for projects/languages that don't follow PEP-440, and Alternately, I suppose we could vendor |
I understand, but I worry vendoring it in I guess It depends whether the version class exposed by |
Summary
distutils is deprecated. Here is the output of
grep -rI distutils .
in the nipype root:We can break this down into groups:
LooseVersion
- We import this directly from distutils in many places and also import it intonipype.__init__.py
from which it is imported in many other places. The semantics of LooseVersion are not the same aspackaging.version.Version
, although in most places it should generally be close enough. Are we okay with a blanket replace?StrictVersion
- Probably safe to replace withVersion
?distutils.spawn.find_executable
- We can useshutil.which
numpy.distutils
- Used indipy/setup.py
and files generated byslicer/generate_classes.py
; I don't understand this use case so I'm hesitant to do anything.distutils.dir_util.remove_tree
- I don't thinktools/toollib.py
is part of anybody's workflow. Easier just to remove? Alternately, can useshutil.rmtree
.Assigning to 1.8 so that there will be a semver hurdle.
The text was updated successfully, but these errors were encountered: