-
-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cython dependency at the installation #386
Comments
|
I am experiencing the same problem with Cython 0.21. Cython 0.20 was working. The following change works for Cython .21 and .20 |
|
I ran into the same problem last night. It looks like this was fixed in the Relevant Commit: e1dd583 |
|
Hi guys, thanks for reporting.
Yes it should be already fixed in the develop branch. Anyway compayibility with old PyTables versions has been restored in Cython: cython/cython@43342ab |
|
See also #387. |
|
As a general remark, it's usually a good idea to not use Cython "just because it's there", as that makes it less predictable what users get on their side. They may have an old or buggy Cython version and thus get suboptimal performance or even incorrect behaviour in some cases. I'm not saying that using an installed Cython for the build is wrong, I just do not consider it best practice. Instead, ship the generated (and tested) .c files with source distributions and require users to explicitly request their regeneration if they want to and know what they're doing (I commonly use a "--with-cython" setup.py switch for that). Only run Cython automatically if the .c files are really missing during the build (or if they are outdated in development checkouts). |
|
Hi @scoder, thanks for the advice. Currently we adopt a somewhat mixed policy:
The underlying assumption is that people that grab code from a git repo is reasonably skilled people and that they is also able to correctly set up a development environment for pytables. Do you think it makes sense? |
I read "Include" as "commit in VCS" here, right? I totally agree that generated files should not be under version control. However, your setup.py currently requires Cython to be installed unconditionally, although it's not needed for "normal" users (who use production-ready releases, as you say). I see now that it's only used if the .c files are missing or the sources were changed, though, so that's ok (and matches what I was suggesting). Under normal conditions then, the released .c files will not be overwritten. Anyway, it works the way it is, so sorry for the noise. |
yes, correct
yes, you are right, Cython should be only required if .c files are missing or outdated. thanks for your feedback. |
With newest Cython (0.21, at the moment of writing) PyTables do not want to install. Downgrading to version 0.15 helped. Cython 0.21 is simply not recognized.
The text was updated successfully, but these errors were encountered: