1009

I'm having trouble installing a Python package on my Windows machine, and would like to install it with Christoph Gohlke's Window binaries. (Which, to my experience, alleviated much of the fuss for many other package installations). However, only .whl files are available.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype

But how do I install .whl files?

Notes

  • I've found documents on wheel, but they don't seem so staightforward in explaining how to install .whl files.
  • This question is a duplicate with this question, which wasn't directly answered.
Nicolas Gervais
  • 21,923
  • 10
  • 61
  • 96
e9t
  • 13,085
  • 5
  • 21
  • 23
  • 15
    See https://pip.pypa.io/en/latest/user_guide.html#installing-from-wheels – cgohlke Jan 12 '15 at 07:44
  • 13
    What prompted this move from exe to whl anyway? Usually people try to make things easier to use rather than harder. – rhaskett Jun 23 '15 at 18:10
  • 5
    @rhaskett the boon compared to .exe's is that publishers only have to upload one wheel (usually) to support all Python versions. You're right though, wheels are less easy for people trying to install packages. It would be neat if you could double click the .whl files. – Colonel Panic Jul 23 '15 at 14:36
  • Possible duplicate of [How do I install Python libraries?](http://stackoverflow.com/questions/21222114/how-do-i-install-python-libraries) – Trilarion Feb 02 '16 at 21:18
  • @cgohlke you link says one needs to install a _wheel_ package, divenex below says, one does not. Who is right? – Nils Lindemann May 04 '16 at 15:45
  • 3
    `pip install ...` does not require the *wheel* package; `pip wheel ...` does. – cgohlke May 04 '16 at 20:55

17 Answers17

1207

I just used the following which was quite simple. First open a console then cd to where you've downloaded your file like some-package.whl and use

pip install some-package.whl

Note: if pip.exe is not recognized, you may find it in the "Scripts" directory from where python has been installed. If pip is not installed, this page can help: How do I install pip on Windows?

Note: for clarification
If you copy the *.whl file to your local drive (ex. C:\some-dir\some-file.whl) use the following command line parameters --

pip install C:/some-dir/some-file.whl
Community
  • 1
  • 1
kpierce8
  • 13,741
  • 2
  • 20
  • 25
  • 52
    You do **not** need `pip install wheel`. The command `pip install some-package.whl` is sufficient. Only make sure pip is updated, as stated by burhan-khalid. – divenex Mar 23 '15 at 13:57
  • 8
    Also, you should open the command prompt as administrator in order to run pip in windows – Mr Alexander May 20 '15 at 13:22
  • 68
    `python -m pip install some-package.whl` also works if pip is not found in PATH. – Dunes Aug 10 '15 at 16:16
  • 4
    add c:\python27\scripts to path so use pip – Mark Ch Apr 08 '16 at 08:37
  • 35
    Installing a Python module in an offline setting is infuriating. No pip obviously. OK so there's a setup.py... But it doesn't work? Oh it requires setuptools. Wonderful. Okay install setuptools - what's this, .whl? Oh, that requires pip! Feels like I'm stuck in a loop. – GVH Aug 11 '16 at 22:03
  • 8
    For python 3 I've been using `pip3` instead of `pip` (I had 2.7 and now have 3.4). Anyway, this is a friendly reminder that sometimes `pip3` is what you need. – geneorama Aug 24 '16 at 15:44
  • @GVH if using `setup.py` with wheels then you do need `wheel` installed. – OrangeDog Oct 24 '19 at 14:08
  • Try to disconnect your network, then install your wheel. Almost times you will get error. Offline installing only works for the standalone packages. – Dong Nguyen Jan 14 '20 at 07:34
  • How cann I call / use it in my class? @Dunes – Shalomi90 Oct 19 '20 at 14:20
  • How we can solve this error: ERROR: grpcio-1.33.2-cp38-cp38-win32.whl is not a supported wheel on this platform. WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. – parvij Nov 27 '20 at 16:28
  • One more thing : Do not rename the wheel file or else pip will refuse to install it. Because pip uses the file name to detect package and architecture info. – Tanishq Banyal Jan 31 '21 at 15:08
73

First, make sure you have updated pip to enable wheel support:

pip install --upgrade pip

Then, to install from wheel, give it the directory where the wheel is downloaded. For example, to install package_name.whl:

pip install --use-wheel --no-index --find-links=/where/its/downloaded package_name
fuzzy
  • 91
  • 6
Burhan Khalid
  • 152,028
  • 17
  • 215
  • 255
22

There are several file versions on the great Christoph Gohlke's site.

Something I have found important when installing wheels from this site is to first run this from the Python console:

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

so that you know which version you should install for your computer. Picking the wrong version may fail the installing of the package (especially if you don't use the right CPython tag, for example, cp27).

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
elachell
  • 2,269
  • 1
  • 21
  • 22
21

I am in the same boat as the OP.

Using a Windows command prompt, from directory:

C:\Python34\Scripts>
pip install wheel

seemed to work.

Changing directory to where the whl was located, it just tells me 'pip is not recognized'. Going back to C:\Python34\Scripts>, then using the full command above to provide the 'where/its/downloaded' location, it says Requirement 'scikit_image-...-win32.whl' looks like a filename, but the filename does not exist.

So I dropped a copy of the .whl in Python34/Scripts, ran the exact same command over again (with the --find-links= still going to the other folder), and this time it worked.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Patrick
  • 237
  • 1
  • 2
  • 10
    @EinarSundgren I disagree, he listed all steps that led him to solve op's problem. – runDOSrun Feb 23 '15 at 15:11
  • 1
    To avoid having to stand in the `C:\Python34\Scripts` directory when running pip, add that directory to the system path instead. For those who don't know how: http://windowsitpro.com/systems-management/how-can-i-add-new-folder-my-system-path – Godsmith Jun 30 '15 at 07:33
  • 3
    An extra example, after opening the command prompt, I just pasted in this and hit enter. Nothing else required: `C:\Python34\python.exe -m pip install requests` It automatically downloaded the 'requests' package and installed it. – Dennis Jaheruddin Nov 20 '15 at 16:47
  • This last comment worked perfectly for me. Could be posted as an answer ! – Yohan Obadia Apr 25 '16 at 09:33
14

You have to run pip.exe from the command prompt on my computer. I type C:/Python27/Scripts/pip2.exe install numpy

Tshilidzi Mudau
  • 5,472
  • 6
  • 32
  • 44
Steel
  • 141
  • 2
10

On Windows you can't just upgrade using pip install --upgrade pip, because the pip.exe is in use and there would be an error replacing it. Instead, you should upgrade pip like this:

easy_install --upgrade pip

Then check the pip version:

pip --version

If it shows 6.x series, there is wheel support.

Only then, you can install a wheel package like this:

pip install your-package.whl
Rockallite
  • 14,477
  • 5
  • 51
  • 45
  • 1
    I just upgraded pip on Windows 7 using `pip install --upgrade pip` and it worked fine—so that part of what you say appears to be incorrect. – martineau Jul 17 '16 at 12:51
  • 1
    Perhaps the pip guys realize this and solve the problem in newer versions...I don't know. At least when the answer was posted (in early-2015) I did encountered the error. – Rockallite Jul 17 '16 at 13:42
  • You're probably right. Actually, most of the time, pip tells me there's a newer version of it available and offers to upgrade itself, so I seldom do it manually. – martineau Jul 17 '16 at 13:53
  • 1
    Running Python 3.5.2 on Windows 10, "python -m pip install --upgrade pip" just successfully upgraded pip-8.1.1 to pip-8.1.2 – Dave Burton Aug 05 '16 at 10:40
8

To be able to install wheel files with a simple doubleclick on them you can do one the following:

1) Run two commands in command line under administrator privileges:

assoc .whl=pythonwheel
ftype pythonwheel=cmd /c pip.exe install "%1" ^& pause

2) Alternatively, they can be copied into a wheel.bat file and executed with 'Run as administrator' checkbox in the properties.

PS pip.exe is assumed to be in the PATH.

Update:

(1) Those can be combined in one line:

assoc .whl=pythonwheel& ftype pythonwheel=cmd /c pip.exe install -U "%1" ^& pause

(2) Syntax for .bat files is slightly different:

assoc .whl=pythonwheel& ftype pythonwheel=cmd /c pip.exe install -U "%%1" ^& pause

Also its output can be made more verbose:

@assoc .whl=pythonwheel|| echo Run me with administrator rights! && pause && exit 1
@ftype pythonwheel=cmd /c pip.exe install -U "%%1" ^& pause || echo Installation error && pause && exit 1
@echo Installation successfull & pause

see my blog post for details.

axil
  • 1,248
  • 14
  • 15
  • Useful! Thank you, axil & Anthony. Presumably, to avoid dependence on the Scripts folder being in the path, you could use: cmd /c python -m pip install "%1" & pause – Dave Burton Aug 05 '16 at 10:42
  • Well, I was wrong. You've got to use pip.exe. However, one other issue is that if you use the ftype command as shown, the "pause" will run at the command prompt, rather than getting stored in the registry as part of the file association. You'll need to run regedit to add the "& pause" in the shell command in the registry. (Just search the registry for pythonwheel.) – Dave Burton Aug 05 '16 at 10:54
  • @DaveBurton I've fixed and updated my answer. Thank you. – axil Mar 27 '17 at 07:56
4

There's a slight difference between accessing the .whl file in python2 and python3. In python3, you need to install wheel first and then you can access .whl files.

Python3

pip install package.whl

OR

pip install wheel

And then by using wheel

wheel unpack some-package.whl

Python2

pip install some-package.whl
Gowtham Bhat
  • 73
  • 1
  • 8
Kunal Raut
  • 2,098
  • 2
  • 6
  • 23
3

EDIT: THIS NO LONGER IS A PART OF PIP

To avoid having to download such files, you can try:

pip install --use-wheel pillow

For more information, see this.

andyw
  • 2,309
  • 1
  • 24
  • 38
  • make sure to have installed the latest version of pip before via python -m pip install --upgrade pip – andyw Sep 21 '16 at 12:05
2

You can install the .whl file, using pip install filename. Though to use it in this form, it should be in the same directory as your command line, otherwise specify the complete filename, along with its address like pip install C:\Some\PAth\filename.

Also make sure the .whl file is of the same platform as you are using, do a python -V to find out which version of Python you are running and if it is win32 or 64, install the correct version according to it.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Aklank Jain
  • 735
  • 1
  • 7
  • 17
2

In-case if you unable to install specific package directly using PIP.

You can download a specific .whl (wheel) package from - https://www.lfd.uci.edu/~gohlke/pythonlibs/

CD (Change directory) to that downloaded package and install it manually by -
pip install PACKAGENAME.whl
ex:
pip install ad3‑2.1‑cp27‑cp27m‑win32.whl

Kiran Jasvanee
  • 5,240
  • 30
  • 42
1

The only way I managed to install NumPy was as follows:

I downloaded NumPy from here https://pypi.python.org/pypi/numpy

This Module

https://pypi.python.org/packages/d7/3c/d8b473b517062cc700575889d79e7444c9b54c6072a22189d1831d2fbbce/numpy-1.11.2-cp35-none-win32.whl#md5=e485e06907826af5e1fc88608d0629a2

Command execution from Python's installation path in PowerShell

PS C:\Program Files (x86)\Python35-32> .\python -m pip install C:/Users/MyUsername/Documents/Programs/Python/numpy-1.11.2-cp35-none-win32.whl
Processing c:\users\MyUsername\documents\programs\numpy-1.11.2-cp35-none-win32.whl
Installing collected packages: numpy
Successfully installed numpy-1.11.2
PS C:\Program Files (x86)\Python35-32>

PS.: I installed it on Windows 10.

Vladimir
  • 156
  • 1
  • 3
  • 11
1

What I did was first updating the pip by using the command: pip install --upgrade pip and then I also installed wheel by using command: pip install wheel and then it worked perfectly Fine.

Hope it works for you I guess.

Mawg says reinstate Monica
  • 34,839
  • 92
  • 281
  • 509
saurabh kumar
  • 167
  • 1
  • 5
0

New Python users on Windows often forget to add Python's \Scripts directory to the PATH variable during the installation. I recommend to use the Python launcher and execute pip as a script with the -m switch. Then you can install the wheels for a specific Python version (if more than one are installed) and the Scripts directory doesn't have to be in the PATH. So open the command line, navigate (with the cd command) to the folder where the .whl file is located and enter:

py -3.6 -m pip install your_whl_file.whl

Replace 3.6 by your Python version or just enter -3 if the desired Python version appears first in the PATH. And with an active virtual environment: py -m pip install your_whl_file.whl.

Of course you can also install packages from PyPI in this way, e.g.

py -3.6 -m pip install pygame
skrx
  • 18,183
  • 3
  • 28
  • 43
0

On the MacOS, with pip installed via MacPorts into the MacPorts python2.7, I had to use @Dunes solution:

sudo python -m pip install some-package.whl

Where python was replaced by the MacPorts python in my case, which is python2.7 or python3.5 for me.

The -m option is "Run library module as script" according to the manpage.

(I had previously run sudo port install py27-pip py27-wheel to install pip and wheel into my python 2.7 installation first.)

Demis
  • 4,849
  • 3
  • 18
  • 28
0

I would be suggesting you the exact way how to install .whl file. Initially I faced many issues but then I solved it, Here is my trick to install .whl files.

Follow The Steps properly in order to get a module imported

  1. Make sure your .whl file is kept in the python 2.7/3.6/3.7/.. folder. Initially when you download the .whl file the file is kept in downloaded folder, my suggestion is to change the folder. It makes it easier to install the file.
  2. Open command prompt and open the folder where you have kept the file by entering

cd c:\python 3.7

3.Now, enter the command written below

>py -3.7(version name) -m pip install (file name).whl
  1. Click enter and make sure you enter the version you are currently using with correct file name.

  2. Once you press enter, wait for few minutes and the file will be installed and you will be able to import the particular module.

  3. In order to check if the module is installed successfully, import the module in idle and check it.

Thank you:)

0

Download the package (.whl).

Put the file inside the script folder of python directory

C:\Python36\Scripts

Use the command prompt to install the package.

C:\Python36\Scripts>pip install package_name.whl
Tono Kuriakose
  • 303
  • 3
  • 11