如何安装带有.whl文件的Python软件包?


871

我在Windows机器上安装Python软件包时遇到问题,想与Christoph Gohlke的Window二进制文件一起安装。(根据我的经验,这减轻了许多其他软件包安装的麻烦)。但是,仅.whl文件可用。

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

但是,如何安装.whl文件?

笔记

  • 我已经找到了车轮上的文档,但是它们在解释如何安装.whl文件时似乎并不那么简单。
  • 该问题与该问题重复,但未直接回答。


12
究竟是什么促使从exe迁移到whl?通常,人们试图使事情更容易使用而不是更难。
rhaskett 2015年

4
与.exe相比,@ rhaskett的好处是,发布者只需上传一个轮子(通常)即可支持所有Python版本。没错,对于试图安装软件包的人来说,轮子不那么容易。如果您可以双击.whl文件,那就太好了。
恐慌上校


1
pip install ...不需要车轮包装;pip wheel ...做。
cgohlke '16

Answers:


1034

我只是使用了以下非常简单的内容。首先打开一个控制台,然后打开cd到您下载文件的位置,例如some-package.whl并使用

pip install some-package.whl

注意:如果无法识别pip.exe,则可以在安装python的“脚本”目录中找到它。如果未安装pip,则此页面可以提供帮助: 如何在Windows上安装pip?

注意:为澄清起见,
如果将*.whl文件复制到本地驱动器(例如C:\ some-dir \ some-file.whl),请使用以下命令行参数-

pip install C:/some-dir/some-file.whl

45
不会需要pip install wheel。该命令pip install some-package.whl就足够了。如burhan-khalid所述,请仅确保对pip进行更新。
divenex 2015年

7
另外,您还应该以管理员身份打开命令提示符,以便在Windows中运行pip
亚历山大先生,

60
python -m pip install some-package.whl如果在PATH中找不到pip,也可以使用。
沙丘

30
在脱机环境中安装Python模块真是令人震惊。显然没有点子。好的,所以有一个setup.py ...但是不行吗?哦,它需要setuptools。精彩。好的,安装setuptools-这是什么,.whl?哦,这需要点子!感觉就像我陷入了循环。
GVH

6
对于python 3,我一直使用pip3代替pip(我有2.7,现在有3.4)。无论如何,这是一个友好的提醒,有时pip3这就是您所需要的。
日内瓦

63

首先,请确保您已更新点子以启用滚轮支持:

pip install --upgrade pip

然后,要从wheel安装,请给它提供下载wheel的目录。例如,安装package_name.whl

pip install --use-wheel --no-index --find-links=/where/its/downloaded package_name

10
什么是“轮子”?
彼得·莫滕森

2
不使用--use-wheel的PIP 19.0.1(Python 2.7版)
雷达

1
@PeterMortensen软件包格式,whl
OrangeDog

19

我和OP在同一条船上。

使用Windows命令提示符,从目录:

C:\Python34\Scripts>
pip install wheel

似乎有效。

将目录更改为whl所在的目录,它只是告诉我“无法识别点子”。回到C:\Python34\Scripts>上面,然后使用上面的完整命令提供“ where / its / downloaded”位置Requirement 'scikit_image-...-win32.whl' looks like a filename, but the filename does not exist

因此,我在Python34 / Scripts中放了一个.whl副本,再次运行了完全相同的命令(--find-links=仍然转到另一个文件夹),这一次它起作用了。


10
@EinarSundgren我不同意,他列出了导致他解决op问题的所有步骤。
runDOSrun

1
为了避免C:\Python34\Scripts在运行pip时必须站在目录中,请将该目录添加到系统路径中。对于那些不知道怎么做的人:windowsitpro.com/systems-management/…–
Godsmith

3
一个额外的例子,在打开命令提示符后,我只是粘贴了这个然后点击回车。无需其他操作:C:\Python34\python.exe -m pip install requests 它会自动下载并安装“请求”包。
丹尼斯·贾赫鲁丁

这最后一条评论对我来说非常有效。可以作为答案发布!
Yohan Obadia

19

Christoph Gohlke的站点上有多个文件版本。

从该站点安装车轮时,我发现重要的一点是首先从Python控制台运行此车轮:

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

这样您就知道应该为计算机安装哪个版本。选择错误的版本可能会导致软件包安装失败(尤其是如果您没有使用正确的CPython标记,例如cp27)。


1
谢谢您,找不到此信息!但是,我不确定如何读取输出以确定我需要哪个版本。
Johndt6


8

在Windows上,您不能仅使用进行升级pip install --upgrade pip,因为pip.exe正在使用,替换它会出错。相反,您应该pip像这样升级:

easy_install --upgrade pip

然后检查pip版本:

pip --version

如果显示 6.x系列,则有车轮支撑。

只有这样,您才能安装以下车轮套件:

pip install your-package.whl

1
我刚刚使用Windows 7升级了pip,pip install --upgrade pip并且效果很好,因此您所说的那一部分似乎不正确。
martineau

1
也许小伙伴们意识到了这一点,并在较新的版本中解决了问题...我不知道。至少在发布答案时(2015年初),我确实遇到了错误。
Rockallite

你也许是对的。实际上,在大多数情况下,pip告诉我有可用的较新版本,并且可以自我升级,因此我很少手动进行。
martineau

1
在Windows 10上运行Python 3.5.2,“ python -m pip install --upgrade pip”刚刚成功将pip-8.1.1升级到pip-8.1.2
Dave Burton

6

为了能够通过简单的双击安装wheel文件,您可以执行以下操作之一:

1)在命令行下以管理员权限运行两个命令:

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

2)或者,可以将它们复制到wheel.bat文件中,并通过属性中的“以管理员身份运行”复选框来执行。

PS pip.exe假定位于PATH中。

更新:

(1)可以合并为一行:

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

(2).bat文件的语法略有不同:

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

还可以使其输出更加详细:

@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

有关详细信息,请参见我的博客文章


有用!谢谢axil和Anthony。大概是为了避免依赖路径中的Scripts文件夹,您可以使用:cmd / c python -m pip install“%1”&暂停
Dave Burton

好吧,我错了。您必须使用pip.exe。但是,另一个问题是,如果您使用如图所示的ftype命令,则“暂停”将在命令提示符下运行,而不是作为文件关联的一部分存储在注册表中。您需要运行regedit在注册表的shell命令中添加“&暂停”。(只需在pythonwheel的注册表中搜索。)
Dave Burton

@DaveBurton我已经修复并更新了我的答案。谢谢。
axil

3

编辑:这不再是画中画的一部分

为避免下载此类文件,您可以尝试:

pip install --use-wheel pillow

有关更多信息,请参见this


确保已通过python -m pip install
--upgrade


1

我设法安装NumPy的唯一方法如下:

我从这里下载了NumPy https://pypi.python.org/pypi/numpy

这个模块

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

PowerShell中从Python的安装路径执行命令

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 .:我在Windows 10上安装了它。


1

您可以使用来安装.whl文件pip install filename。尽管要以这种形式使用它,但它应该与命令行位于同一目录中,否则请指定完整的文件名以及其地址(例如)pip install C:\Some\PAth\filename

另外,请确保.whl文件与您使用的平台处于同一平台,执行a python -V找出您正在运行的Python版本,如果它是win32或64,则根据其安装正确的版本。


1

我要做的是先使用命令更新点子: pip install --upgrade pip然后使用命令安装轮pip install wheel,然后完美地工作了。

希望它对您有用。


0

Windows上的新Python用户通常会在安装过程中忘记将Python的\ Scripts目录添加到PATH变量中。我建议使用Python启动器,并通过-m开关将pip作为脚本执行。然后,您可以安装特定Python版本的轮子(如果已安装多个版本),并且Scripts目录不必位于PATH中。因此,打开命令行,(使用cd命令)导航到.whl文件所在的文件夹,然后输入:

py -3.6 -m pip install your_whl_file.whl

3.6您的Python版本替换,或者输入-3所需的Python版本是否首先出现在PATH中。并在活跃的虚拟环境中:py -m pip install your_whl_file.whl

当然,您也可以通过这种方式从PyPI安装软件包,例如

py -3.6 -m pip install pygame

0

我会建议您如何安装.whl文件的确切方法。最初我遇到很多问题,但是后来我解决了,这是安装.whl文件的技巧。

正确地遵循步骤以获取模块导入

  1. 确保.whl文件保存在python 2.7 / 3.6 / 3.7 / ..文件夹中。最初,当您下载.whl文件时,该文件保留在下载文件夹中,我的建议是更改文件夹。它使安装文件更加容易。
  2. 打开命令提示符,然后输入以下内容,打开保存文件的文件夹:

cd c:\ python 3.7

3.现在,输入下面写的命令

>py -3.7(version name) -m pip install (file name).whl
  1. 单击输入,并确保以正确的文件名输入当前正在使用的版本。

  2. 按下Enter键后,等待几分钟,文件将被安装,您将能够导入特定的模块。

  3. 为了检查模块是否成功安装,请以空闲状态导入模块并进行检查。

谢谢:)


0

下载包(.whl)。

将文件放在python目录的script文件夹中

C:\Python36\Scripts

使用命令提示符安装软件包。

C:\Python36\Scripts>pip install package_name.whl

-1

在MacOS上(pip通过MacPorts安装到MacPorts python2.7中),我不得不使用@Dunes解决方案:

sudo python -m pip install some-package.whl

python在我的情况下,在哪里被MacPorts python取代了,python2.7或者是python3.5对我对。

-m根据联机帮助页选项为“将库模块作为脚本运行”。

(我以前曾运行sudo port install py27-pip py27-wheel过安装程序,pip然后先wheel进入python 2.7安装程序。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.