ChatGPT解决这个技术问题 Extra ChatGPT

How do I install a Python package with a .whl file?

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.

What prompted this move from exe to whl anyway? Usually people try to make things easier to use rather than harder.
@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.
Possible duplicate of How do I install Python libraries?
pip install ... does not require the wheel package; pip wheel ... does.

C
Community

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

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.
Also, you should open the command prompt as administrator in order to run pip in windows
python -m pip install some-package.whl also works if pip is not found in PATH.
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.
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.
f
fuzzy

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

What is "wheel"?
Use without --use-wheel in pip 19.0.1 (python 2.7)
@PeterMortensen the package format, what whl is an abbreviation for
Could you please show the difference between the two commands in this answer and in the top answer?
P
Peter Mortensen

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).


Thank you, was having trouble finding this info! However, I'm not sure how to read the output to determine which version I need.
Gohlke's wheel repository is going to shut down soon :(
P
Peter Mortensen

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.


@EinarSundgren I disagree, he listed all steps that led him to solve op's problem.
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: windowsitpro.com/systems-management/…
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.
This last comment worked perfectly for me. Could be posted as an answer !
g
gowthz

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

but unpack just unpacks the content, doesn't seem to install it
@ItamarKatz you can directly install by using command pip install package.whl.
T
Tshilidzi Mudau

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


I have no Scripts directory. Does pip not come with a regular install?
@jozxyqk: no. Look here for installation instructions: pip.pypa.io/en/latest/installing.html
R
Rockallite

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

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.
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.
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.
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
a
axil

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.


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
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.)
@DaveBurton I've fixed and updated my answer. Thank you.
K
Kiran Jasvanee

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


Gohlke's wheel repository is going to shut down soon :(
a
andyw

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.


make sure to have installed the latest version of pip before via python -m pip install --upgrade pip
the use-wheel option no longer works and that website doesn't exist and is replaced by some chinese site
P
Peter Mortensen

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.


V
Vladimir

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.


s
skrx

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

M
Mawg says reinstate Monica

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.


d
divesh jain

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

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. 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

Click enter and make sure you enter the version you are currently using with correct file name. Once you press enter, wait for few minutes and the file will be installed and you will be able to import the particular module. In order to check if the module is installed successfully, import the module in idle and check it.

Thank you:)


D
Demis

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.)


T
Tono Kuriakose

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

A
Anwar Husain

Theoretically:

Because wheel is a built distribution spec ie, no dependency on a build system and because it's a ZIP-format archive, it just has to be unpacked to the target location in-order to be used.

While pip install *.wheel adds extra features, we can also unzip (using a standard archive tool eg: 7zip) the .whl file into site-packages directory to use the package.

https://packaging.python.org/specifications/binary-distribution-format/