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
Windows wheel package (.whl) on Pypi #5479
Comments
For context: the reason this isn't trivial is that the binaries you linked |
I deployed the recent OpenBLAS based numpy and scipy wheels on binstar. You can install them with: pip install -i https://pypi.binstar.org/carlkl/simple numpy This works for python-2.7 and for python-3.4. The wheels are marked as 'experimental'. Feedback is welcome. |
If you want widespread testing then you should send this to the list :-) On Thu, Jan 22, 2015 at 8:54 PM, carlkl notifications@github.com wrote:
Nathaniel J. Smith |
fwiw I personally would like to change the size of the default integer in win64 before we actually provide official binaries, though there was some resistance too it when I last proposed it, also possibly with anaconda and other third party binaries its probably already too late :( also speaking of openblas, someone fancy some debugging, I'm tired of it (looks like the same failure that breaks scipy with openblas):
|
OpenBLAS version used is 0.2.12. I didn't experienced significant problems with this version yet. The scipy failures are copied to https://gist.github.com/carlkl/b05dc6055fd42eba8cc7. 32bit only numpy failures due to http://sourceforge.net/p/mingw-w64/bugs/367
|
I don't disagree about changing the win64 integer size, but I think that's (Strictly speaking it's a backcompat break, but even so it seems reasonable On Thu, Jan 22, 2015 at 8:59 PM, Julian Taylor notifications@github.com
Nathaniel J. Smith |
I'm also interested in this. Is there some way of assisting with the process? |
OpenBLAS can be compiled with |
Just a heads up. Using 64 bit integers in blas is a terrible idea. Stop before you get too far down that road. Matlab, and Julia before I went and fixed it, did this, and it breaks any third-party library that assumes conventional 32-bit integers in blas. What we've been doing in Julia for the past ~5 months is actually renaming all the symbols in openblas to add a |
Hey guys is there any update on the wheels files being made available for Numpy ? |
Not that I'm aware of right now.
|
@guyverthree Christoph Gohlke has been releasing NumPy using Intel's MKL as wheels for a while now. Also, see my blog post on NumPy wheels. I made some NumPy wheels in my Dropbox using Carl Kleffner's modified mingw-w64 toolchain and Zhang Xianyi's OpenBLAS port of GotoBLAS. Olivier Grisel was looking for help modifying the NumPy buildbot to repeat the same steps used in the OpenBLAS google groups thread I post to. |
My latest version is available on binstar.org though I'm not sure if anaconda.org is the new prefered name now.
build with my https://bitbucket.org/carlkl/mingw-w64-for-python and a more or less recent OpenBLAS.
|
+1 @carlkl and I wish these could be added to NumPy build at the Cheese Factory as well. |
+1 I would love to see this happen too. |
IMHO: there are at least three problems to be solved before these builds are going to be accepted:
|
@carlkl: FWIW, I'm not really worried about @cgohlke's packages -- that will sort itself out (just like there aren't major problems now due to people trying to combine scipy-MKL with anaconda numpy). And I'm not even really worried about there being some fancy build mechanism -- a manual build is fine so long as there's a text file documenting the steps. The main issue that I'm worried about is sustainability: if we can't get this stuff upstream, then we'll have to re-validate and re-do patches every time a new version of gcc / mingw-w64 / msvc comes out, and it probably won't happen. We don't want to get caught in the trap where we start providing builds, but then this becomes more and more onerous over time as we have to deal with a cranky old compiler to do it. Which is why I've been trying to round up funding to support doing this upstream... +1's are great and all, but if anyone wants to donate some money or knows a company who might be interested in making gcc generally usable for python extensions on windows, then send me an email :-) (njs@pobox.com) If you don't have $$ but still want to help, then one way to do that would be to send patches to mingw-w64 improving their support for transcendental functions like sin and cos. (It turns out that the MSVC ABI disagrees with everyone else about how the x87 FPU unit should be configured, so most of the free software mathematical functions don't work quite right.) Fortunately there are good, license-compatible implementations in Android's "bionic" libc, so this doesn't require any mathematical wizardry or deep insight into ABI issues -- it's just a mostly mechanical matter of finding and extracting the relevant source files and then dropping them into the mingw-w64 tree at the right place. We can provide more details on this too if anyone's interested. |
Isn't this the kind of thing that numfocus should be funding? If not, then perhaps we can go back and revisit applying to the PSF. How much money are we talking? |
+1 please publish wheels for Windows to PyPI https://pypi.python.org/pypi/numpy
|
+1 would really help Windows users. |
Can't play with https://github.com/glumpy/glumpy because of this. What are the manual build steps to get Numpy working on Windows? Looks like AppVeyor job is there, so should be no problem to upload artifacts to GitHub. |
Right now it is literally impossible to build a fast, BSD-licensed version of numpy on windows. We're working on fixing that, but it's a technical limitation; +1's aren't going to have any effect either way. (The appveyor job does build on windows, but it uses a fallback unoptimized linear algebra library that isn't really suitable for real work.) Until we get this sorted, then I'd recommend downloading wheels from Christoph Gohlke's website, or using Anaconda or another scientific python distribution. |
@njsmith can you be more specific? Preferably with exact commands that don't work. Right now this stuff is not actionable. |
I think 'impossible' is too strong - but there's certainly not yet an obvious general way forward. I put up a wiki page on the current status here: https://github.com/numpy/numpy/wiki/Whats-with-Windows-builds . Please feel free to edit / amend all ye who care to. |
Add note about wheels on pypi, and Windows wheels in particular. See discussion at: numpy#5479
Thanks for all the great work! Will numpy 1.11.0 Window wheels be added to pypi soon? https://pypi.python.org/pypi/numpy |
oh yeah, we possibly need to figure out how to update our release procedures here... IIUC the user experience right now is that as soon as the 1.11 source release was uploaded, all the windows machines out there suddenly switched from downloading wheels (yay) to trying to download and build the source (boo). I guess the "right" way to do this is that once the final release is tagged, we build and upload all the binary wheels before uploading the sdist. As annoying as that is... |
@njsmith that would be nice, but a few minutes lag (or even a few hours) lag would be fine with me. |
Just to clarify are the current Windows whl files on PyPI for the 1.11.0 release build against ATLAS? Is there a build script that can be shared? |
Yes, the wheels are built against ATLAS, but we're thinking of moving to OpenBLAS when we're confident of the results. Build is automated via Appveyor : https://github.com/numpy/windows-wheel-builder |
It might be possible to create |
Sadly, the hidden release feature does stop people getting that release via the command line, it only stops them seeing the release via the pypi GUI: |
I have tried the 64-bit windows install of numpy and that works great, so thanks to all who have put in work on this. What I am wondering is if there is still a plan to do the same thing with scipy wheels? Is this awaiting the decision to move to OpenBLAS? |
On https://bitbucket.org/carlkl/mingw-w64-for-python/downloads there are some test wheels of scipy-0.17.0 . These wheels have been build with mingwpy against @matthew-brett 's builds of numpy https://pypi.python.org/pypi/numpy/1.10.4 |
On Thu, Apr 28, 2016 at 12:48 PM, carlkl notifications@github.com wrote:
Sorry if you said already, and I missed it - but do you get any test Are you linking to the ATLAS shipped inside the numpy wheels? |
@matthew-brett, I announced these builds a month ago, but I don't remember where. Anyway, these builds link against numpy-atlas supplied by your numpy wheels. scipy-0.17.0-cp35-cp35m-win##.whl are linked against the wrong C-runtime msvcrt.dll. For scipy this seems to be OK. Test logs are here: https://gist.github.com/carlkl/9e9aa45f49fedb1a1ef7 |
Is that the right log? It has I was wondering if we are close to being able to provide a scipy wheel, even if it dangerously links against the wrong MSVC runtime, but it looks as is there are far too many errors for this build. Do you get fewer errors for the 64-bit build? For the current best build against openblas 0.2.18 ? |
64bit has only 6 failures all with:
I know: this cries for comparison with OpenBLAS. However, I'm stuck since the last 4 weeks for several reasons as you may have noticed. Hopefully the situation will continue to improve. @matthew-brett, I would appreciate using numpy MSVC builds with OpenBLAS. My latest builds are here: |
As if mingwpy, conda-forge, Anaconda and Canopy wasn't enough here comes the Intel Distribution for Python and it's free to download. It includes just the numerical tools (SciPy, NumPy, Numba, Scikit-Learn) plus some extras (mpi4py Intel mp interface and pyDAAL data analytics) and uses conda. |
No worries the license expires 10/29/16 so these Intel builds are just a As if mingwpy, conda-forge, Anaconda and Canopy wasn't enough here comes — |
For 1.11.1, it looks like that there is a missing Windows wheel on PyPi for Python 3.5 amd64. Is there a particular reason for that? If I go to 1.11.0 (https://pypi.python.org/pypi/numpy/1.11.0), the wheel is there. |
Thanks for the report - I think we must have uploaded too soon, and therefore before all the wheels were built. I've uploaded the missing wheel. It looks like we need a test to make sure this doesn't happen again. |
I have just tested it, and it works great! Thank you so much for all the work done to make the Windows wheels available. |
Closing the issue -- wheels have been available for the last few releases. |
I understand that this issue is closed but I believe we should consider re-opening it. This remains an issue for windows users trying to get their scientific stack running without having to resort to conda. I still need to use the @cgohlke 'MKL' builds see this related scipy issue which remains open. Although wheels are being created, without being compatible with scipy, they are not usable for many. |
@waynenilsen you have the instructions for installing the new wheels in the mailing list thread that is linked in the issue you just mentioned: So if you do
it should work for you. |
There's nothing left to be done for Numpy, so the issue is closed. The
Scipy issue is still open, and it will likely be resolved in the next
release.
|
This works great for me @Juanlu001 I am really looking forward to when this is on pypi! |
Please make Windows wheel packages and put them on Pypi.
Currently it is possible to download Windows wheel packages for numpy here: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
It would be great if the wheels were directly available on the Pypi server https://pypi.python.org/pypi/ so that they can be installed with pip.
The text was updated successfully, but these errors were encountered: