I have a package that contains a small C-extension module that is used to accelerate a few functions. The C-extension functions are also implemented in pure python inside the package, if the C-extension is not available it fallbacks to the pure python code (see asammdf/mdf_v4.py at 7465baa09dc00ed79d99271bbd35e10303810f71 · danielhrisca/asammdf (github.com))
Is there a way at install time to just copy the python files even if the C-extension build fails?
If you distribute wheels, you can distribute them with the compiled extension where it works, and a pure python wheel that will be used as a fallback when there’s no platform-specific wheel available.
The main problem comes when installing from the github development branch. This happens often when an user attempts to test a fix
If your user is installing from source, then it’s more a setuptools issue than a pip issue so I’ll let setuptools experts comment.
Not “by default”, no.
Since you’re using setuptools, it is possible for you to override the
build_ext command, such that if there’s a failure, it is ignored. I’m not a 100% sure if that’s a good fit for what you want to do here.
setuptools.setup and/or read Python: customize setup actions.
Thanks I will try to adapt the markupsafe solution