0

I'm trying to install Scipy for Python 2.7 on Windows 10 64-bit.

Pip gives me an error.

Scipy official distributables don't see my 64-bit copy of Python.

The distributables at http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy don't work fully, for example, I can't use scipy.optimize because there is a DLL error.

My copy of numpy is 1.9.2

What are my options besides using a Python stack? I don't want to mess with my current install.

jh44tx
  • 119
  • 9

1 Answers1

0

Unfortunately, AFAIK there is no official scipy binary for 64-bit windows, nor an officially supported way to build it yourself (that is why pip fails). The problem is the lack of a free 64 bit Fortran compiler. The Christoph Gohlke builds you linked to use the Intel Fortran compiler, which gives good performance, but has some unfortunate problems. That said, I have used scipy.optimize with those builds, so I don't know it isn't working for you. You may be on the right track with numpy I always install the entire numpy/scipy stack from the same place.

Your options are basically 1) switch to Linux or OSX where 64-bit is fully supported, 2) Switch to 32-bit python where you can use all the official distributions, or 3) install multiple versions of python side-by-side. virtualenv can help with this. Of course, all your numerical code will have to work with the new version, but at least you can keep the system python version intact for whatever else it needs.

Evan
  • 2,217
  • 15
  • 18
  • I was afraid of this. Thanks for the detailed response. – jh44tx Sep 13 '15 at 20:02
  • I am not aware of any "unfortunate problems" with Intel's Fortran. Scipy and many other packages using Fortran code are running stable. – cgohlke Sep 13 '15 at 21:44
  • Honestly my #1 problem is that fortran runtime steals the Ctrl-C handler and deliberately shuts down the entire program for no reason, which makes it nearly useless as an interactive session for me. However, I have also had numerical accuracy problems (such as optimizers not converging) that don't show up with the exact same code on the same version of scipy with official 32 bit builds, or 32 or 64-bit binaries on linux. – Evan Sep 13 '15 at 21:59
  • For Intel Fortran >=16 set the [`FOR_DISABLE_CONSOLE_CTRL_HANDLER=1`](https://software.intel.com/en-us/node/579775) environment variable. For older versions use [SetConsoleCtrlHandler](http://stackoverflow.com/a/15472811/453463) – cgohlke Sep 14 '15 at 00:12