Closed dlukes closed 4 years ago
Thanks for pointing this out.
I think we'll need to change how the setup.py works here. When I wrote the setup.py before, the setup_requires
field didn't work. Now since pep517, we should no longer publish the generated code in the setup.py, and instead make Cython run it to do the installation. The transpiled code isn't the source, and it's no surprise that it can sometimes fail in future compatibility.
Hi, I think this is temporarily resolved by v3.0.4 v2.0.4, which includes .cpp
files generated by a newer version of cython.
And if all goes as planned, the upcoming v3.0.5 v2.0.5 should switch to not including the generated .cpp
files at all.
Edited to fix version numbers.
Sorry, I'm getting the version numbers for different projects mixed up. For cymem v2.0.3 v2.0.4 should be okay for python 3.9 (also has a published python 3.9 wheel) and then v2.0.4 v2.0.5 won't include the .cpp
files.
Edited: I give up...
Thanks! I can confirm spacy 2.3.4 + cymem 2.0.4 installs and imports fine on Python 3.9 :)
Caused by the removal of the
PyTypeObject.tp_print
field, which is referenced by the C++ source files generated by the outdated version of Cython specified inrequirements.txt
(<0.28.0).If I lift the Cython version restriction and install the most recent version at the time of writing (0.29.21), cymem builds fine, so the removal of the
tp_print
field seems to have already been addressed by Cython.Are there any reasons why the Cython dependency can't be easily upgraded? Maybe the fact that cymem builds fine with a newer Cython doesn't necessarily mean it will also work correctly? See also #14.