-
-
Notifications
You must be signed in to change notification settings - Fork 25.1k
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 CompileError: expected_mutual_info_fast.pyx #10947
Comments
I noticed #10342 after googling with the observed error-message I got with compiling 0.19.1; Then downloaded the sklearn-master from github and tried to compile sklearn again. Same error. So, why does it not now behave?? |
I mean any minor version of Cython 0.28 (including 0.28.0 and 0.28.1). Could you try scikit-learn 0.19.1 for instance with Cython 0.27.3, please? |
FWIW, I can reproduce this on Linux with conda, when trying to build the v0.19.1 from source with Cython 0.28.1,
So it looks like scikit-learn 0.19.1 is not compatible with Cython >=0.28 cc @lesteve @brobr I imagine you are building this version of scikit-learn as part of your package manager on Slackware? This will affect Slackware, Gentoo etc, there is not much we can do about it on the scikit-learn side: the dependencies should be updated accordingly in the corresponding package managers. Meanwhile, you can just downgrade Cython or use the development scikit-learn version. |
That is not so easy; Cython-0.28.1 is part of the current system and the previous version of Cython available to me is 0.23.4 on Slackware-14.2. On pip I only see the latest Cython. Further, at the moment I am running projects in Jupiter Notebook for which I rather not recompile everything, unless that would be helpful. |
You can get any of the previous versions on PyPi from https://pypi.org/project/Cython/#history Also, if you just install scikit-learn with pip, you will get a binary wheel wich will avoid this issue (but it might be less optimized for your system).. |
Also, this was in the output far before the error, would this be relevant?
|
Not particularly, this seems fine apart for the But I was saying there isn't much we can do about this issue on our side. |
Well, the pip-way I try to evade in order to keep track of installed software using the package management that comes with the system. But doing it, it works:
and it works ok in my notebook excercise ..... |
But definitely thanks for the program; now I have to learn to use it.... |
Any failure in scipy-dev-wheels is something that will break once the dependency is released, this is something to bear in mind each time we fix the cython-dev-wheels build. Is it worth thinking about 0.19.2 for a reason like this I am not sure ... I would argue that is is not very often that someone will try to compile scikit-learn 0.19.1 with cython >= 0.28. Ping @jnothman in case you have some spare bandwidth and a opinion! |
+1
It installs a binary manylinux wheel that doesn't need to be compiled. |
So am I right to think that the issues here are: can/should we pin cython support to a particular version? And if we don't, and our most recent release breaks with the most recent cython, do we issue a minor release to fix? Are these the issues? |
Yeah that's the main question. I guess if it was numpy or scipy we would probably release a minor version, but cython seems less critical.
I guess I did not think of that but I am not a big fan. |
what are the disadvantages of pinning cython? does pinning cython create
incompatibilities? I've missed in this conversation what constrains a user
to a particular version of cython.
|
scikit-learn 0.19.1 does not compile with cython >= 0.28 (cython 0.28 was released on March 13 2018)
By pinning cython, do you mean requiring an exact cython version for a given scikit-learn version, e.g. |
Description
Hi, with installed:
python-2.7.14
numpy-1.13.1
scipy-0.18.0
Cython-0.28.1
compiling scikiyt-learn-0.19.1 on Slackware64-current: gives this error:
Cython.Compiler.Errors.CompileError: sklearn/metrics/cluster/expected_mutual_info_fast.pyx
Steps/Code to Reproduce
Expected Results
Actual Results
Versions
The text was updated successfully, but these errors were encountered: