python 3.7 breakage
wumpus opened this issue · comments
The pypi package doesn't install on Python 3.7 because of changes in the CPython API. I had several other packages that had the same issue, and the fix was to regenerate the .pyx with a modern cython.
reppy/robots.cpp:7835:69: error: too many arguments to function
return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
Currently, we're pinned to Cython 0.27.3 for dev dependencies. Is that "modern" enough? I've seen issues where upgrading Cython breaks things in the past, so I'm a little more concerned if I have to bump that version as well.
FYI, I do see this error when trying to install reppy
locally via pip
using Python 3.7.0 via pyenv
; however, it appears to build just fine when I compile locally, and it doesn't seem to change the generated files, so I'm not sure if I'm missing something.
I went ahead and added 3.7 to the build matrix in Travis in #94.
Thanks for the example that works on Travis! Turns out that that my .travis.yml was asking for 3.7-dev which is mapped to 3.7.0a4+ and that fails, but you specified 3.7 and you got 3.7 and that worked.
A while back travisci was not supporting 3.7 because of an SSL problem... the docs still say it https://docs.travis-ci.com/user/languages/python/#Specifying-Python-versions
I just tried it and my run got a 403 downloading the python-3.7.tar.bz file, so I'm thinking they revoked it between your run and mine.
I believe that #97 will actually work on 3.7.0. I've currently got a live working rc1 version on pypi that worked for me locally. I'll close this out once I get 0.4.10 officially released to pypi.
New version is available on pypi: