Skip to content

Conversation

daviesrob
Copy link

SWIG, run by build_ext, generates a shared object file and a python library. The latter needs to be generated before build_py is run so that build_py finds it. Unfortunately the default in setuptools is to run build_py before build_ext. The solution is to override the build class so that the build order can be changed.

With this change, "pip install" works better, including when lsf-python-api is a dependency of another module.

See:
https://bugs.python.org/issue2624
https://bugs.python.org/issue1016626
https://stackoverflow.com/questions/12491328/python-distutils-not-include-the-swig-generated-module
https://stackoverflow.com/questions/50239473/building-a-module-with-setuptools-and-swig

Signed-off-by: Robert Davies rmd@sanger.ac.uk

SWIG, run by build_ext, generates a shared object file and a
python library.  The latter needs to be generated before build_py
is run so that build_py finds it.  Unfortunately the default in
setuptools is to run build_py before build_ext.  The solution
is to override the build class so that the build order can be
changed.

With this change, "pip install" works better, including when
lsf-python-api is a dependency of another module.

See:
 https://bugs.python.org/issue2624
 https://bugs.python.org/issue1016626
 https://stackoverflow.com/questions/12491328/python-distutils-not-include-the-swig-generated-module
 https://stackoverflow.com/questions/50239473/building-a-module-with-setuptools-and-swig

Signed-off-by: Robert Davies <rmd@sanger.ac.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant