lmsasu
lmsasu

Reputation: 7583

Cannot install NumPy from a wheel format

I am trying to install NumPy from a wheel (.whl) file. I get the error:

numpy-1.9.1%2Bmkl-cp34-none-win_amd64.whl is not a supported wheel on this platform.

Details:

The log file shows:


d:\Program Files\WinPython-64bit-3.4.2.4\python-3.4.2.amd64\Scripts\pip run on 01/23/15 11:55:21
numpy-1.9.1%2Bmkl-cp34-none-win_amd64.whl is not a supported wheel on this platform.
Exception information:
Traceback (most recent call last):
File "D:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "D:\Python34\lib\site-packages\pip\commands\install.py", line 257, in run
InstallRequirement.from_line(name, None))
File "D:\Python34\lib\site-packages\pip\req.py", line 167, in from_line
raise UnsupportedWheel("%s is not a supported wheel on this platform." % wheel.filename)
pip.exceptions.UnsupportedWheel: numpy-1.9.1%2Bmkl-cp34-none-win_amd64.whl is not a supported wheel on this platform.

What is wrong?

Upvotes: 58

Views: 69954

Answers (10)

user2974878
user2974878

Reputation: 121

In my case, the workaround to install gohlke packages on Python (3.4.4 (AMD64)) was to change the "cp34m" part rather than the "win*" parts in previous answers:

python -c "import pip; print(pip.pep425tags.get_supported())":
[('cp34', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'),
('cp34', 'none', 'any'), ...

ls -ld *:

matplotlib-2.0.0b3-cp34-cp34m-win_amd64.whl
numpy-1.11.1+mkl-cp34-cp34m-win_amd64.whl
pandas-0.18.1-cp34-cp34m-win_amd64.whl

Change the above names to:

matplotlib-2.0.0b3-cp34-none-win_amd64.whl
numpy-1.11.1+mkl-cp34-none-win_amd64.whl
pandas-0.18.1-cp34-none-win_amd64.whl

For example, pip install matplotlib-2.0.0b3-cp34-none-win_amd64.whl

Processing ...
...Successfully installed matplotlib-2.0.0b3

Upvotes: 9

Davidjb
Davidjb

Reputation: 1240

To add to the list of other possible solutions, I had to upgrade pip itself. The latest binary from Gholke's site had the "cp27m" tag, which didn't show up when I checked the pip tags using:

import pip; print(pip.pep425tags.get_supported())

After I upgraded pip, the wheel didn't work, but just doing a regular pip install numpy worked.

Upvotes: 6

geo
geo

Reputation: 21

I had the same problem and tried to work it out with the suggested solutions.

I changed win64 to win32 and it didn't work either. But then I changed the name to original and this time it worked! The only extra thing I did was to go offline. That's so strange.

Upvotes: 2

prku9595
prku9595

Reputation: 21

Navigate to the directory where your 'pip.py' sits and then type following on the Windows command line:

..\python.exe pip.py install name_of_package.whl

This should work.

Upvotes: 2

jask
jask

Reputation: 21

As a workaround, uninstall the NumPy package:

pip uninstall numpy

Then install it again from cache:

pip install numpy

I had the same problem with several packages after upgrading from 3.4.1 to 3.4.2.

Upvotes: 2

Gaahbon
Gaahbon

Reputation: 191

After several tests I think the problem is "win32" or "amd64" itself. I tried replacing those two with "any" and it worked.

Upvotes: 18

stonebig
stonebig

Reputation: 1191

The current WinPython package manager need a two-characters fix to accept to recognize the new NumPy + mkl 'wheel'.

https://github.com/stonebig/winpython/commit/5e13230609a2e9f4d66d98c3776207ce4b4dd050

Upvotes: 2

Steven Mark Ford
Steven Mark Ford

Reputation: 3432

This has nothing to do with your operating system. Uninstall Python 32-bit and install Python 64-bit rather or alternatively find a 32-bit wheel file.

Upvotes: 1

Noumenon
Noumenon

Reputation: 6462

If you have, say, Python 3.4 installed, make sure to install the -cp34- version of the wheel and not -cp35-.

Upvotes: 3

Simeon Visser
Simeon Visser

Reputation: 122536

Short answer: rename the file to numpy-1.9.1%2Bmkl-cp34-none-win32.whl to install it.

You can check what tags your pip tool accepts for installation by running:

import pip; print(pip.pep425tags.get_supported())

In this case pip is incorrectly detecting your operating system to be 32-bits and the file you're trying to install was win_amd64 in its filename.

If you rename the file to numpy-1.9.1%2Bmkl-cp34-none-win32.whl (which now contains the tags that are considered supported) then you can install the package. It's a trick because the file is still built for 64-bits but this allows you to install the package as intended.

Upvotes: 82

Related Questions