Anyone? On Fri, Jan 3, 2020 at 1:17 PM Dan Stromberg <drsali...@gmail.com> wrote:
> > Hi folks. > > (There's a copy of this message on stack overflow at > https://stackoverflow.com/questions/59522262/with-setuptools-optional-c-extension-module-error-is-fatal > ) > > I'm putting a little time into getting my treap module (like a dict, but > always sorted by key) working with distutils. > > I want it to be able to compile and install the Cython version from an > included .c file, or to fall back on a pure python version if that fails. > > I'm currently using: > > setup( > name='treap', > py_modules=[ > 'treap', > 'py_treap', > 'nest', > ], > # ext_modules=cythonize("pyx_treap.pyx"), > ext_modules=[Extension('pyx_treap', ['pyx_treap.c'], optional=True)], > # setup_requires=[ > # 'Cython' > # ], > version=version, > description='Python implementation of treaps, > ) > > ...plus a few more options to setup that don't seem relevant. > > If I run python3.6 setup.py build, I get: > > running build > running build_py > creating build > creating build/lib.linux-x86_64-3.6 > copying treap.py -> build/lib.linux-x86_64-3.6 > copying py_treap.py -> build/lib.linux-x86_64-3.6 > copying nest.py -> build/lib.linux-x86_64-3.6 > running build_ext > building 'pyx_treap' extension > creating build/temp.linux-x86_64-3.6 > x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall > -g-fstack-protector-strong -Wformat -Werror=format-security > -Wdate-time-D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -c pyx_treap.c > -o > build/temp.linux-x86_64-3.6/pyx_treap.o > pyx_treap.c:4:10: fatal error: Python.h: No such file or directory > #include "Python.h" > ^~~~~~~~~~ > compilation terminated. > error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 > > So it seems like despite using Extension('pyx_treap', ['pyx_treap.c'], > optional=True), the cython version is not optional. > > Am I missing something? Why doesn't it just continue with the pure python > modules? > > I realize I could install python3.6-dev or similar to eliminate the error, > but I don't want to assume the user knows that. > > Thanks! >
-- Distutils-SIG mailing list -- distutils-sig@python.org To unsubscribe send an email to distutils-sig-le...@python.org https://mail.python.org/mailman3/lists/distutils-sig.python.org/ Message archived at https://mail.python.org/archives/list/distutils-sig@python.org/message/BHGI5T2CK22FMFC2Z2PB44OYHSHVU4LQ/