ChatGPT解决这个技术问题 Extra ChatGPT

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

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

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

但是如何安装 .whl 文件?

笔记

我在 Wheel 上找到了文档,但它们在解释如何安装 .whl 文件时似乎并不那么直截了当。

这个问题与这个问题重复,没有直接回答。

究竟是什么促使了从 exe 到 whl 的转变?通常人们试图让事情更容易使用而不是更难。
@rhaskett 与 .exe 相比的好处是,发布者只需(通常)上传一个轮子即可支持所有 Python 版本。不过,您是对的,对于尝试安装软件包的人来说,轮子不太容易。如果您可以双击 .whl 文件,那就太好了。
pip install ... 不需要 wheel 包; pip wheel ... 确实如此。

C
Community

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

pip install some-package.whl

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

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

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

您确实不需要需要 pip install wheel。命令 pip install some-package.whl 就足够了。只需确保 pip 已更新,如 burhan-khalid 所述。
此外,您应该以管理员身份打开命令提示符,以便在 Windows 中运行 pip
如果在 PATH 中找不到 pip,python -m pip install some-package.whl 也可以使用。
在离线环境中安装 Python 模块令人恼火。显然没有点。好的,所以有一个 setup.py ......但它不起作用?哦,它需要安装工具。精彩的。好的,安装 setuptools - 这是什么,.whl?哦,那需要点子!感觉就像我被困在一个循环中。
对于 python 3,我一直在使用 pip3 而不是 pip(我有 2.7,现在有 3.4)。无论如何,这是一个友好的提醒,有时 pip3 是您所需要的。
f
fuzzy

首先,确保您已更新 pip 以启用车轮支持:

pip install --upgrade pip

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

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

什么是“轮子”?
在 pip 19.0.1 (python 2.7) 中不使用 --use-wheel
@PeterMortensen 包格式,whl 是什么的缩写
您能否在此答案和最佳答案中显示两个命令之间的区别?
P
Peter Mortensen

伟大的 Christoph Gohlke 网站上有几个文件版本。

从这个站点安装轮子时,我发现重要的是首先从 Python 控制台运行它:

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

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


谢谢,找不到这个信息!但是,我不确定如何读取输出以确定我需要哪个版本。
Gohlke 的轮子存储库将转到 shut down soon :(
P
Peter Mortensen

我和OP在同一条船上。

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

C:\Python34\Scripts>
pip install wheel

似乎工作。

将目录更改为 whl 所在的位置,它只是告诉我“无法识别 pip”。返回到 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= 仍将转到另一个文件夹),这一次成功了。


@EinarSundgren 我不同意,他列出了导致他解决操作问题的所有步骤。
为了避免在运行 pip 时必须站在 C:\Python34\Scripts 目录中,请将该目录添加到系统路径中。对于不知道如何操作的人:windowsitpro.com/systems-management/…
一个额外的例子,在打开命令提示符后,我只是粘贴了这个并回车。不需要其他任何东西:C:\Python34\python.exe -m pip install requests 它会自动下载“请求”包并安装它。
最后一条评论对我来说非常有效。可以作为答案发布!
g
gowthz

在 python2 和 python3 中访问 .whl 文件略有不同。在python3中,需要先安装wheel,然后才能访问.whl文件。

Python3

pip install package.whl

或者

pip install wheel

然后通过使用轮子

wheel unpack some-package.whl

Python2

pip install some-package.whl

unpack 只是解压缩内容,似乎没有安装它
@ItamarKatz 您可以使用命令 pip install package.whl 直接安装。
T
Tshilidzi Mudau

您必须从我的计算机上的命令提示符运行 pip.exe。我输入 C:/Python27/Scripts/pip2.exe install numpy


我没有 Scripts 目录。 pip 不附带常规安装吗?
@jozxyqk:不。在此处查看安装说明:pip.pypa.io/en/latest/installing.html
R
Rockallite

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

easy_install --upgrade pip

然后检查 pip 版本:

pip --version

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

只有这样,您才能安装这样的轮子包:

pip install your-package.whl

我刚刚使用 pip install --upgrade pip 在 Windows 7 上升级了 pip,它运行良好——所以你说的那部分内容似乎不正确。
也许 pip 家伙意识到了这一点并在新版本中解决了这个问题......我不知道。至少在发布答案时(2015 年初)我确实遇到了错误。
你也许是对的。实际上,大多数时候,pip 会告诉我它有一个更新的版本可用并提供自行升级,所以我很少手动进行。
在 Windows 10 上运行 Python 3.5.2,“python -m pip install --upgrade pip”刚刚成功将 pip-8.1.1 升级到 pip-8.1.2
a
axil

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

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

有关详细信息,请参阅我的 blog post


有用!谢谢你,阿西尔和安东尼。据推测,为了避免依赖路径中的 Scripts 文件夹,您可以使用: cmd /c python -m pip install "%1" & pause
好吧,我错了。你必须使用 pip.exe。但是,另一个问题是,如果您使用如图所示的 ftype 命令,“暂停”将在命令提示符下运行,而不是作为文件关联的一部分存储在注册表中。您需要运行 regedit 在注册表的 shell 命令中添加“& pause”。 (只需在注册表中搜索 pythonwheel。)
@DaveBurton 我已经修复并更新了我的答案。谢谢你。
K
Kiran Jasvanee

如果您无法直接使用 PIP 安装特定软件包。

您可以从 - https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载特定的 .whl(轮)包

CD(更改目录)到下载的软件包并通过 -
pip install PACKAGENAME.whl
ex:
pip install ad3‑2.1‑cp27‑cp27m‑win32.whl 手动安装


Gohlke 的轮子存储库将转到 shut down soon :(
a
andyw

编辑:这不再是 PIP 的一部分

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

pip install --use-wheel pillow

如需更多信息,see this


确保之前通过 python -m pip install --upgrade pip 安装了最新版本的 pip
use-wheel 选项不再起作用并且该网站不存在并被一些中文网站取代
P
Peter Mortensen

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

还要确保 .whl 文件与您使用的平台相同,执行 python -V 以找出您正在运行的 Python 版本,如果是 win32 或 64,请根据它安装正确的版本。


V
Vladimir

我设法安装 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 上安装了它。


s
skrx

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

py -3.6 -m pip install your_whl_file.whl

3.6 替换为您的 Python 版本,或者如果所需的 Python 版本首先出现在 PATH 中,则只需输入 -3。并具有活动的虚拟环境:py -m pip install your_whl_file.whl

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

py -3.6 -m pip install pygame

M
Mawg says reinstate Monica

我所做的是首先使用命令:pip install --upgrade pip 更新 pip,然后我还使用命令:pip install wheel 安装了轮子,然后它工作得很好。

希望它对你有用,我猜。


d
divesh jain

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

正确遵循这些步骤以获得导入的模块

确保您的 .whl 文件保存在 python 2.7/3.6/3.7/.. 文件夹中。最初,当您下载 .whl 文件时,该文件保存在下载的文件夹中,我的建议是更改文件夹。它使安装文件更容易。打开命令提示符并通过输入打开保存文件的文件夹

cd c:\python 3.7

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

>py -3.7(version name) -m pip install (file name).whl

单击输入并确保输入当前使用的版本以及正确的文件名。一旦你按下回车,等待几分钟,文件将被安装,你将能够导入特定的模块。为了检查模块是否安装成功,在idle中导入模块并检查。

谢谢:)


D
Demis

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

sudo python -m pip install some-package.whl

在我的例子中,python 被 MacPorts python 替换,对我来说是 python2.7python3.5

根据手册页,-m 选项是“将库模块作为脚本运行”。

(我之前运行 sudo port install py27-pip py27-wheel 以首先将 pipwheel 安装到我的 python 2.7 安装中。)


T
Tono Kuriakose

下载包 (.whl)。

将文件放在python目录的脚本文件夹中

C:\Python36\Scripts

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

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

A
Anwar Husain

理论上:

因为 wheel 是一个 built distribution 规范,即不依赖于构建系统,并且因为它是 ZIP 格式的存档,所以只需将其解压缩到目标位置即可使用。

pip install *.wheel 添加额外的 features 的同时,我们还可以将 .whl 文件解压缩(使用标准存档工具,例如:7zip)到 site-packages 目录中以使用该包。

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