离线安装python包,遇到is not a supported wheel on this platform

本文介绍了一种在无外网环境下安装Python第三方依赖包的方法。通过下载并修改特定的.whl文件名,解决了版本不匹配的问题,使得在目标机器上能够成功安装所需的库。
部署运行你感兴趣的模型镜像

背景

没有外网的情况下,需要安装python的第三方依赖包。先使用pip下载了安装包,然后上传到需要安装第三方包的机器中去,结果安装的时候出现了“is not a supported wheel on this platform”,机器的版本是python3.7,win64,而安装的包为cp36的。

首先想到的是,先想办法找到最新的包为cp37的,但是发现最新的包只有cp36的,然后想到的方式,降python的版本,但立马把这个方案否定了。最后通过修改包名称解决问题。

过程

下载
这里是需要离线安装paramiko,首先在有外网的机器中,新建文件夹,进入文件夹后,进入cmd命令行模式,输入以下命令下载包

python -m pip download paramiko

下载成功后,本地会出现多个的.whl文件,在命令中,输入以下命令,将文件名称写入到文件中

dir /b > requirements.txt

这时,会自动新建requirements.txt文件,且包含各个.whl文件名,打开文件,去除名称“requirements.txt”

cffi-1.15.1-cp37-cp37m-win_amd64.whl
cryptography-38.0.1-cp36-abi3-win_amd64.whl
paramiko-2.1.6-py2.py3-none-any.whl
pyasn1-0.4.8-py2.py3-none-any.whl
pycparser-2.21-py2.py3-non

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

当使用 `pip` 安装 `.whl` 文件时,遇到错误 `is not a supported wheel on this platform` 通常表示当前环境与所下载的 wheel 文件不兼容。该问题主要涉及 Python 版本、操作系统平台以及构建环境之间的匹配性。以下是详细解决方案: ### 1. 检查 Python 版本和平台兼容性 每个 `.whl` 文件名称中含特定的标识符,用于说明其支持的 Python 版本和平台。例如: - `cp38` 表示 CPython 3.8。 - `win_amd64` 表示适用于 Windows 64 位系统。 确保下载的 wheel 文件与当前 Python 版本和操作系统平台匹配。可以通过以下命令查看 Python 版本和平台信息: ```python import sys print(sys.version) print(sys.platform) ``` ### 2. 使用 `pip debug --verbose` 检查支持的 wheel 格式 运行以下命令以查看当前环境中支持的 wheel 格式: ```bash pip debug --verbose ``` 输出结果中会列出支持的标签(Tags),例如 `cp38`, `cp37`, `win_amd64` 等。下载的 `.whl` 文件必须与这些标签匹配。 ### 3. 从官方或可信源下载 wheel 文件 如果官方 PyPI 仓库中未提供特定,可以从以下可信源下载: - [Unofficial Windows Binaries for Python Extensions](https://www.lfd.uci.edu/~gohlke/pythonlibs/) 提供了许多常用库的 wheel 文件,例如 `Twisted` 和 `opencv-python` [^2]。 - 确保选择与当前 Python 版本和平台完全匹配的文件。 ### 4. 使用虚拟环境管理依赖 如果 Python 版本与 wheel 文件不匹配,可以尝试创建一个与目标 wheel 文件兼容的虚拟环境。例如: ```bash python -m venv myenv source myenv/bin/activate # Linux/macOS myenv\Scripts\activate # Windows ``` 在虚拟环境中安装兼容版本的 Python 和依赖库。 ### 5. 编译源代码或使用替代 如果无法找到匹配的 wheel 文件,可以尝试从源码安装: ```bash pip install some-package --no-binary :all: ``` 或者,使用替代管理工具,如 `conda`,它能够更好地处理平台和依赖问题: ```bash conda install -c conda-forge some-package ``` ### 6. 避免使用不兼容的 Python 实现 某些 wheel 文件仅支持特定的 Python 实现(如 CPython)。如果使用了其他实现(如 PyPy),可能会导致不兼容问题。确保使用的是标准的 CPython 环境 [^1]。 ### 7. 更新 pip 和 setuptools 确保 `pip` 和 `setuptools` 是最新版本,以支持最新的 wheel 格式: ```bash python -m pip install --upgrade pip setuptools ``` ### 示例:安装 Twisted 的兼容版本 假设当前环境为 Python 3.8 和 Windows 64 位系统,可以下载 `Twisted-20.3.0-cp38-cp38-win_amd64.whl` 并运行以下命令安装: ```bash pip install Twisted-20.3.0-cp38-cp38m-win_amd64.whl ``` 如果报错 `is not a supported wheel on this platform`,请检查当前 Python 版本是否为 3.8 并且平台是否为 64 位 Windows 。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值