Update setup.py to use more modern Python packaging
Issue/feature addressed
Recent Python releases have deprecated distutils in favour of more modern packaging through pip. This MR adds the
Proposed solution
-
setup.pynow usessetuptoolsviasetup.cfg, also removes the need to hard-codeNekPylibraries withinsetup.py - to isolate the packaging build, we use
${CMAKE_BINARY_DIR}/pythonto store theNekPypackage and associated packaging - Targets
nekpy-install-*are adjusted to instead usepip install - A new target
nekpy-install-devpasses the-eoption topip installwhich puts a symlink to the package insite-packagesand means that multiple calls tonekpy-install-userare not required for development purposes.
Tests
Suggested reviewers
Notes
Please add any other information that could be useful for reviewers.
Checklist
[ ] Functions and classes, or changes to them, are documented.[ ] User guide/documentation is updated.-
Changelog is updated. [ ] Suitable tests added for new functionality.-
Contributed code is correctly formatted. (See the contributing guidelines). [ ] License added to any new files.-
No extraneous files have been added (e.g. compiler output or test data files).
Edited by Dave Moxey