Nathaniel Smith schrieb am 31.03.2016 um 17:42: > On Mar 31, 2016 6:40 AM, "Stefan Behnel" wrote: >> That makes me wonder if we shouldn't just provide pure Python wheels of >> Cython, i.e. without compiling any binary extensions in them. For one-time >> installs, it would only be marginally slower than with a compiled Cython, >> but it would work on all platforms with all Python versions. >> >> I guess the drawback would be that it would be more hassle for people who >> really want to install Cython permanently for themselves... >> >> Is there a way to tag a wheel somehow as "special"? I doubt that >> Nick&friends thought about the special Cython installation use case when >> designing the format... > > The general case is "library with optional native acceleration". I think > one thing is that if there's both a generic and a specific wheel then pip > will prefer the specific one? So an arch-specific wheel will get higher > priority than a py2.py3-none-any wheel. Of course this only works if both > are available -- it's more of a fallback thing.
We could provide a separate release version for the wheel, e.g. 0.24 for normal sdist and binary builds and 0.24py for the unaccelerated pure Python wheel. People could then "pip install Cython==0.24py" on their CI servers and get a fast wheel installation. The wheel is really easy to build: pip install wheel python setup.py bdist_wheel --universal --no-cython-compile This quickly creates a file dist/Cython-0.24b0-py2.py3-none-any.whl Py3.2 wouldn't be supported, but that's it. Since Cython shouldn't normally show up in any requirements.txt files itself, and thus would usually be installed separately in CI builds, this scheme should be easy to apply for users. Using different versions is better than having different package names because the later would quickly lead to confusion when both packages get installed by accident and try to unpack the same files. We need to take care that PyPI's version sorting doesn't get confused by this, though. "pip install Cython" should still install the latest *accelerated* version. Does anyone know if the trove classifier Development Status :: 7 - Inactive has any effect on pip? Or should we mark the wheel package as "3 - Alpha" release? That should prevent pip from installing it by default (IIRC). Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org https://mail.python.org/mailman/listinfo/cython-devel