446

I would like to install scipy-0.15.1-cp33-none-win_amd64.whl that I have saved to the local drive. I am using:

pip 6.0.8 from C:\Python27\Lib\site-packages
python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)]

When I run:

pip install scipy-0.15.1-cp33-none-win_amd64.whl

I get the following error:

scipy-0.15.1-cp33-none-win_amd64.whl is not a supported wheel on this platform

What is the problem?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
lskrinjar
  • 5,483
  • 7
  • 29
  • 54

28 Answers28

533

cp33 means CPython 3.3.

You need scipy‑0.15.1‑cp27‑none‑win_amd64.whl instead.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
ismail
  • 46,010
  • 9
  • 86
  • 95
  • 16
    I had this issue too (with numpy though) so I downloaded all of the `cp27` [here](http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy) and tried each one until one worked perfectly (in my case `numpy-1.9.3+vanilla-cp27-none-win32`) – CodyBugstein Oct 15 '15 at 03:40
  • 1
    had same issue for opencv, I have python 3.5. So download cp35 and pip install filename.whl – Somnath Kadam Dec 08 '16 at 18:37
  • 46
    start Python and run: `import platform` and then `platform.architecture()` to see which version of Python you're running so you know which .whl to download! – gregorio099 Feb 07 '17 at 20:57
  • 11
    Thanks @gregorio099. I'm running a 64-bit version of Windows, but apparently a 32-bit version of Python. Your comment saved me some time. – tww0003 May 04 '17 at 17:31
  • 3
    Also, if you have multiple versions of python installed, you may also get this error. In my case, I wanted to install scipy into the 2.7 version, so on the cmd line, I explicitly called the version of python I wanted up upgrade (and install the wheel file for). For example: `C:\Python27amd67\python -m pip install scipy-1.0.b1-cp27-cp27m-win_amd64.whl`. – Dr Snooze Sep 27 '17 at 16:21
  • @gregorio099 had same issue. I have `python 3.7` and `arch: ('64bit', 'ELF')`. I am getting error: `ERROR: scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl is not a supported wheel on this platform`. I am using docker to run this – ankit Apr 28 '20 at 01:35
  • hello . all version for `cpython` in this [link](https://pypi.org/project/cPython/#history).not version `3.3` – A.R.SEIF Nov 27 '20 at 11:51
  • I don't understand why this got so many upvotes. It may have solved the OP's problem, but it does nothing to help the general reader who encounters a "filename.whl is not supported wheel on this platform" error. – Acccumulation Aug 13 '21 at 23:09
  • @Accumulation it solved my problem. I was trying to install gdal, and took the 312 to be Python 3, Visual C 12 or such. And so I banged my head for far too long, trying too many silly things, before reading this answer to finally take a closer look at the naming conventions. – JeopardyTempest Jun 16 '22 at 15:55
280

This can also be caused by using an out-of-date pip with a recent wheel file.

I was very confused, because I was installing numpy-1.10.4+mkl-cp27-cp27m-win_amd64.whl (from here), and it is definitely the correct version for my Python installation (Windows 64-bit Python 2.7.11). I got the "not supported wheel on this platform" error.

Upgrading pip with python -m pip install --upgrade pip solved it.

aldel
  • 6,489
  • 1
  • 27
  • 32
  • 2
    Thank you! I was getting this message after installing Python 3.4 from the MSI installer. Turned out the installer included PIP 1.5.6, which was generating the "not supported" message. After upgrading, I ended up with PIP 8.1.1, which solved the problem. – cbranch Apr 05 '16 at 17:31
  • 1
    Yeah, the default with a fresh Python installation seems to usually be old. Same with a new virtualenv, which installs its own pip. – aldel Apr 07 '16 at 19:52
  • 1
    Upgrading to pip 9.0.1 from a previous version(8.1.1 for Py3 and 7.0.1 for Py2) solved the issue for me – S Raghav Dec 20 '16 at 07:00
  • On windows the command should be py -m pip install --upgrade pip – Freeze Dec 01 '17 at 14:54
  • @Freeze It might depend on the version and installation. On my Windows machine, `python` is Python 2.7 and `py` is 3.5. – aldel Dec 01 '17 at 20:09
  • I was trying to install a `*-cp34-cp34m-manylinux1_x86_64.whl` package on Debian 8 with the `python3`, `python3-pip` (1.5.6) packages from the jessie repositories. It turns out that `manylinux1` support wasn't [added to pip until 8.1.0](https://github.com/pypa/pip/pull/3497). – Jonathon Reinhart Mar 11 '19 at 16:26
  • I had this issue as well. Indeed upgrading pip to the latest version corrected the issue. – evantkchong Apr 03 '19 at 18:32
  • Using pip3 instead of pip could also solve it on Ubuntu – Filippos Zofakis Sep 18 '19 at 23:08
  • Helpful! For example, manylinux2014 requires pip >= 19.3, manylinux2010 requires pip >=19.0 – Bily Apr 26 '21 at 08:20
109

I had the same problem while installing scipy-0.17.0-cp35-none-win_amd64.whl and my Python version was 3.5. It returned the same error message:

scipy-0.17.0-cp35-none-win_amd64.whl is not a supported wheel on this platform.

I realized that amd64 is not about my Windows, but about the Python version. Actually I am using a 32-bit Python on a 64-bit Windows. Installing the following file solved the issue:

scipy-0.17.0-cp35-none-win32.whl
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
1man
  • 5,216
  • 7
  • 42
  • 56
  • 3
    I think I am having the same issue. how did you check that your python was 32bit? – user1757654 Feb 20 '17 at 19:23
  • 1
    @user1757654, please check: http://stackoverflow.com/questions/1405913/how-do-i-determine-if-my-python-shell-is-executing-in-32bit-or-64bit-mode-on-os – 1man Feb 20 '17 at 20:30
  • 1
    Thank you very much for this valuable information. amd64 is indeed not about the windows version but the python's. – Anas.J Sep 03 '19 at 08:26
33

Change the filename to scipy-0.15.1-cp33-none-any.whl and then run this command:

pip install scipy-0.15.1-cp33-none-any.whl

It should work :-)

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
ravi
  • 449
  • 4
  • 5
  • 5
    Just a workaround, or do you have any supporting reason? – Ravinder Payal Mar 08 '17 at 07:42
  • 5
    This worked for me, but you should note that you are just lying to `pip` by doing this and this may broke. – Ekrem Dinçel Sep 22 '20 at 13:45
  • Yes,this works for me.I use `python -m pip debug --verbose` to detect which wheel my pip support,in the return list `cp39-none-any` mentioned.I guess `-none-any` not means `*`,that means anything.Also I meet this problem in my virtual env's pip.Do hope my reply can help someone. – Wendaolee Jul 28 '22 at 06:41
30

I come across this problem because of a wrong name of my package (scipy-0.17.0-cp27-none-win_amd64 (1)).

After I deleted the '(1)' and changed the package to scipy-0.17.0-cp27-none-win_amd64, the problem got resolved.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
刘远圳
  • 594
  • 6
  • 5
  • 13
    Thanks so much! I couldn't believe my eyes that pip judges which platform the wheel pertains to by name! – Antony Hatchkins Nov 13 '16 at 19:45
  • 4
    You saved my day, I can't believe pip depends on name of file – pc43 Dec 24 '16 at 12:52
  • 1
    I had this issue as well, with a numpy wheel - I had replaced a + with a - when I uploaded it to our nexus repository. Changing the name back before pip install fixed it - Thanks! – imdibiji Nov 17 '17 at 20:37
19

If you are totally new to Python, read step by step or go directly to 5th step directly.

Follow the below method to install SciPy 0.18.1 on Windows 64-bit, Python 64-bit.

Be careful with the versions of

  1. Python

  2. Windows

  3. .whl version of NumPy and SciPy files

  4. First install NumPy and then SciPy.

     pip install FileName.whl
    
  5. For NumPy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy For SciPy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Be aware of the file name (what I mean is check the "cp" number). Example: scipy-0.18.1-cp35-cp35m-win_amd64.whl

To check which "cp" number is supported by your pip. Go to point number 2 below.

If you are using .whl file, the following errors are likely to occur.

  1. You are using pip version 7.1.0, however version 8.1.2 is available.

You should consider upgrading via the 'python -m pip install --upgrade pip' command

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl is not supported wheel on this platform

For the above error: start Python (in my case 3.5), and type:

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

Output:

[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none', 'any'), ('cp3', 'none', 'any'), ('py35', 'none', 'any'), ('py3', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

In the output you will observe "cp35" is there, so download "cp35" for NumPy as well as SciPy.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Arun Naudiyal
  • 361
  • 4
  • 4
  • 6
    Apparently, on some platforms, you need `import pip._internal` followed by `print(pip._internal.pep425tags.get_supported())` – Marc Van Daele Sep 03 '18 at 07:14
  • 7
    Neither `pip.pep425tags.get_supported()` nor `pip._internal.pep425tags.get_supported()` is recognized on my system (Windows 10, pip version 20.0.2) – Wassadamo Apr 01 '20 at 10:07
13

Please do notice that all platform requirements *are taken from the name of the .whl file!

So be very careful with renaming of *.whl package. I occasionally renamed my newly compiled TensorFlow package from

tensorflow-1.11.0-cp36-cp36m-linux_x86_64.whl

to

tensorflow-1.11.0-cp36-cp36m-linux_x86_64_gpu.whl

just to remind myself about GPU support and struggled with

tensorflow-1.11.0-cp36-cp36m-linux_x86_64_gpu.whl is not a supported wheel on this platform.

error for about half an hour.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Ivan Talalaev
  • 6,014
  • 9
  • 40
  • 49
11

First of all, cp33 means that it is to be used when you have Python 3.3 running on your system. So if you have Python 2.7 on your system, try installing the cp27 version.

Installing scipy-0.18.1-cp27-cp27m-win_amd64.whl, needs a Python 2.7 running and a 64-bit system.

If you are still getting an error saying "scipy-0.18.1-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform", then go for the win32 version. By this I mean install scipy-0.18.1-cp27-cp27m-win32.whl instead of the first one. This is because you might be running a 32-bit python on a 64-bit system. The last step successfully installed scipy for me.

u_found_me
  • 111
  • 1
  • 5
8

cpXX indicates the Python version.

Whichever Python X.X version you have installed into your system, download that particular cpxx file.

For example, if you have installed Python version 3.7 then install packagename-packageversion-cp37-cp37m-osx_10_13_x86_64.whl

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
sameer_nubia
  • 721
  • 8
  • 8
5

Things to check:

  1. You are downloading proper version like cp27 (means for Python 2.7) cp36 (means for Python 3.6).

  2. Check of which architecture (32 bit or 64 bit) your Python is (you can do it so by opening Python IDLE and typing).

     import platform
     platform.architecture()
    

    Now download the file of that bit, irrespective of your system architecture.

  3. Check whether you're using the correct filename (i.e., it should not be appended with (1) which might happen if you download the file twice)

  4. Check if your pip is updated or not. If not, you can use:

    python -m pip install -upgrade pip

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Krishna
  • 6,107
  • 2
  • 40
  • 43
4

For my case, with a dlib installation into my Python installation (Python 3.6.9), I have found that changing the WHL file name from dlib-19.8.1-cp36-cp36m-win_amd64.whl to dlib-19.8.1-cp36-none-any.whl works for me.

Here is the way I run pip install to install dlib:

pip3 install dlib-19.8.1-cp36-none-any.whl

However, I still wonder whether there are any alternatives to installation of a WHL file by the pip command without changing the name.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
3

I tried to install scikit-image, but I got the following error when I tried to install the .whl file, even though my installed version of Python was 2.7 32-bit:

scikit_image-0.12.3-cp27-cp27m-win32.whl is not a supported wheel on this platform.

However, I also got this message before the error message:

You are using pip version 7.1.0, however version 8.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

I then ran the command python -m pip install --upgrade pip and then pip install scikit_image-0.12.3-cp27-cp27m-win32.whl worked fine.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Ogglas
  • 62,132
  • 37
  • 328
  • 418
3

I'm deploying Flask using Python 3.4 on IIS.

The following steps worked for me:

  1. Upgrade pip
  2. Install the wheel file for NumPy
  3. pip install pandas
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Steel
  • 31
  • 1
3

It's better to check the version of Python where you want to install your package.

If the wheel was built for Python 3 and your Python version is Python 2.x you may get this error.

While installing using pip, follow this convention:

python2 -m pip install XXXXXX.whl # If the .whl file is for Python 2
python3 -m pip install XXXXXX.whl # If the .whl file is for Python 3
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Patel Sunil
  • 441
  • 7
  • 7
  • I run the code '!python -m pip install Twisted-17.9.0-cp36-cp36m-win_amd64.whl' but I get this error: 'Requirement 'Twisted-17.9.0-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist Twisted-17.9.0-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.' – Monirrad Feb 13 '19 at 04:10
  • I'm using windows 10 and python 3.8. Every answers not worked for me but only this answer worked. Thank you. – Jay Lim Sep 29 '20 at 01:00
2

I had a similar problem, installing a 64-bit version for Python 2.7 on Windows 7 64-bit. Everything was up-to-date, yet I got the message:

scipy-0.18.1-cp27-cp27m-win_amd64.whl is not supported wheel on this platform

Then I downloaded a 32-bit .whl file and it worked.

pip install scipy-0.18.1-cp27-cp27m-win32.whl

I suspect that the problem was probably that I didn’t have an AMD processor, rather an Intel one, and the SciPy 64-bit version says amd64 at the end.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
1

This error might happen because of the difference between armv7 and armv6. If you download the package for armv7 and try to install for armv6, this error occurs.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
FSA
  • 67
  • 9
  • On what kind of system? [Raspberry Pi](https://en.wikipedia.org/wiki/Raspberry_Pi)? [Android](https://en.wikipedia.org/wiki/Android_%28operating_system%29)? [M1](https://en.wikipedia.org/wiki/Apple_M1)? Something else? – Peter Mortensen Jan 17 '22 at 18:25
  • Yes on Raspberry Pi, if we download packages for CM4 to SD card, and try to run that SD card on Pi Zero it does not work. If we download package for Pi Zero and try to work with CM4 it works. – FSA Jan 22 '22 at 09:14
1

For me I had similar issue. In my case, I didn't notice the python version was different (32bit vs 64bit) between the computers.

By the way, you can still do it, but you will need to manually replace all the whls files that are not recognized.

for example, for cryptography-36.0.1, from https://pypi.org/project/cryptography/36.0.1/#files use:

cryptography-36.0.1-cp36-abi3-win32.whl (32bit) vs cryptography-36.0.1-cp36-abi3-win_amd64.whl (64bit)

In addition, for some reason there were version differences between what was in the requirements.txt file, versus the whl files version in the folder. For example, I had numpy 1.22.3 in requirements file, and numpy-1.22.2-cp39-cp39-win32.whl in the folder.

So make sure they match, and adjust the requirements file accordingly

justadev
  • 1,168
  • 1
  • 17
  • 32
0

Try Conda for installation. It seems to resolve versions on the fly:

conda install scikit-learn

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
tom
  • 91
  • 2
0

Simply, if you have more than one Python installation on your system, for example, 2.7/3.4/3.5, it's necessary you check your installation path. :)

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
0

I am using Python 2.7 and a Windows 64-bit system. I was getting the same error for lxml-3.8.0-cp27-cp27m-win_amd64.whl while doing pip install lxml-3.8.0-cp27-cp27m-win_amd64.whl.

Run pip install lxml and it auto-detected and successfully installed the Win32 version (though my system is Windows-64 bit)

cd C:\Python27
pip install lxml

Collecting lxml
  Downloading lxml-3.8.0-cp27-cp27m-win32.whl (2.9MB)
    100% |################################| 2.9MB 20kB/s
Installing collected packages: lxml
Successfully installed lxml-3.8.0

So, I will go with @1man's answer.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
somnathchakrabarti
  • 3,026
  • 10
  • 69
  • 92
0

During TensorFlow configuration I specified Python 3.6. But default, Python on my system is Python 2.7. Thus pip in my case means pip for 2.7. For me

pip3 install /tmp/tensorflow_pkg/NAME.whl

did the trick.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Vladimir Vlasov
  • 1,860
  • 3
  • 25
  • 38
0

In my case (Windows 64-bit, Python 2.7, and Cygwin) the issue was with a missing gcc.

Using apt-cyg install gcc-core enabled me to then use pip2 wheel ... to install my wheels automatically.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
yeliabsalohcin
  • 720
  • 1
  • 6
  • 14
0

In my case, it had to do with not having installed the GDAL core previously. For a guide on how to install the GDAL and Basemap libraries go to GISPython

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Felipe Gutierrez
  • 675
  • 6
  • 17
0

For me, it worked when I selected the correct bit of my Python version, not the one of my computer version.

Mine is 32 bit, and my computer is 64 bit. That was the problem and the 32 bit version of fixed it.

To be exact, here is the one that I downloaded and worked for me:

mysqlclient-1.3.13-cp37-cp37m-win32.whl

Once again, just make sure to chose your Python version of bits and not your system one.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Fouad Boukredine
  • 1,495
  • 14
  • 18
0

I tried a bunch of the stuff in previous answers to no avail.

Previously, I upgraded to pip 18.1, but I kept getting the following error when trying (for pyFltk):

>>from fltk import *

ImportError: DLL load failed %1 is not a valid Win32 Application

I was getting all sorts of errors about the *.whl file not being supported by my machine or something about being unable to remove the correct files from distutils.

I went back to my notes and they indicated that the whl file:

pyFltk-1.3.3.1-cp36-cp36m-win_amd64.whl but I kept getting the error above sooo...

it required pip 9.0.3 to install.

I downgraded my version of pip to 9.0.3:

pip install pip=9.0.3

And the .whl file installed properly.

This is also related to: here

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
0

I was trying to verify the installation of TensorFlow as specified here on a newly created virtual environment on Python 3.6. On running:

pip3 install --ignore-installed --upgrade "/Users/Salman/Downloads/tensorflow-1.12.0-cp37-cp37m-macosx_10_13_x86_64.whl"

I get the error and/or warning:

tensorflow-1.12.0-cp37-cp37m-macosx_10_13_x86_64.whl is not a supported wheel on this platform.

Since I had previously upgraded from pip to pip3, I simply replaced pip with pip3 as in:

pip3 install --ignore-installed --upgrade "/Users/Salman/Downloads/tensorflow-1.12.0-cp37-cp37m-macosx_10_13_x86_64.whl"

and it worked like a charm!

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
0

I had the same problem

I downloaded the latest pip from https://pypi.org/project/pip/#files

And then....

pip install << downloaded file location >>

And then the Pygame and Kivy installation worked...

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
-3

All right, the problem is easy. TensorFlow requires Python 3.4 - 3.7 and 64 bit. I see then you're using Python 2.7.

Read the TensorFlow install instructions on Install TensorFlow with pip.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131