Python wheel
在 Python 的生态系统中,wheel 是一种打包格式,用于分发和安装 Python 项目。它是 Python 包的标准格式之一,旨在提高安装速度和可靠性。
Wheel 的优势
- 快速安装:因为
wheel包含了预编译的二进制文件,安装时不需要编译源代码,大大加快了安装速度。 - 无编译依赖:用户不需要在安装时满足编译的依赖,比如 C 编译器等,这对于那些没有编译环境的用户尤为重要。
- 可移植性:
wheel文件可以在不同的平台上使用,只要这些平台上的 Python 版本兼容。
Wheel 文件的结构
一个 .whl 文件实际上是一个 ZIP 压缩包,包含了项目的所有文件和元数据。其文件名通常遵循以下格式:
{distribution}-{version}(-{build})?-{python_version}-{abi_tag}-{platform_tag}.whl
例如:
example_project-1.0.0-py3-none-any.whl
如何创建和使用 Wheel
创建 Wheel
要创建一个 wheel 文件,你需要确保你的项目有一个 setup.py 文件。然后你可以使用以下命令:
pip install wheel
python setup.py bdist_wheel
这将生成一个 dist 目录,其中包含你的 .whl 文件。
安装 Wheel
安装 .whl 文件可以使用 pip:
pip install your_project.whl
Wheel 与 Source Distribution 的区别
- Wheel (bdist_wheel):包含预编译的二进制文件,安装快速,不依赖编译环境。
- Source Distribution (sdist):包含源代码,安装时需要编译,依赖编译环境。
兼容性
- 纯 Python wheel:这些 wheel 文件的文件名中包含
none-any,表示它们与任何平台和 Python 版本兼容。 - 平台特定 wheel:这些 wheel 文件包含特定的平台和Python版本信息,如
cp37-cp37m-win_amd64,表示这个 wheel 文件是为 Python 3.7 的 Windows 64 位平台编译的。
总结
wheel是一种 Python 包的标准分发格式,主要用于提高安装速度和简化安装过程。通过使用wheel,开发者可以分发预编译的包,用户可以快速、无编译依赖地安装这些包。
Python wheel的更多相关文章
- python wheel 包命名规则和 abi 兼容
wheel 包的命名规定 wheel 包的命名格式为 {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform ...
- 【转载】Python,使用Wheel打包
转载自: http://blog.sina.com.cn/s/blog_1318255b00102wbtz.html Python的第一个主流打包格式是.egg文件,现在大家庭中又有了一个叫做Whee ...
- 记录Python学习中的几个小问题
记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...
- win7(64bit)python相关环境模块搭建
包括Python,eclipse,jdk,pydev,pip,setuptools,beautifulsoup,pyyaml,nltk,mysqldb的下载安装配置. **************** ...
- win7 Python 环境 准备 配置
包括Python,eclipse,jdk,pydev,pip,setuptools,beautifulsoup,pyyaml,nltk,mysqldb的下载安装配置. **************** ...
- 在Windows 10 + Python 3.6.5 中用 pip 安装最新版 TensorFlow v1.8 for GPU
声明 什么cuDNN之类的安装,应该是毫无难度的,按照官网的教程来即可,除非...像我一样踩了狗屎运.咳咳,这些问题不是本文的关键. 本文的关键是解决pip安装tensorflow gpu版的问题. ...
- wheel
http://guoqiao.me/post/2015/1212-pip-install-offline-via-wheels python wheel -r requirements.txt 下载 ...
- Python官方操作Excel文档
xlwt 1.3.0 Downloads ↓ Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 ...
- python 相关模块安装 国内镜像地址
python 相关模块安装 国内镜像地址 pipy国内镜像目前有: http://pypi.douban.com/ 豆瓣 http://pypi.hustunique.com/ 华中理工大学 ht ...
- Python web 框架之 Django 基础搭建服务
1. 需要安装 Python 和 Django 环境,Python 环境的安装我就不在多说了 2. 安装框架 Django Django 安装,推荐先装个 pip吧,easyinstall也可以,然后 ...
随机推荐
- OpenFOAM v2306 安装
参考 https://develop.openfoam.com/Development/openfoam/-/wikis/precompiled/debian curl https://dl.open ...
- django.db.utils.InternalError: (1050, "Table 'app01_book_author' already exists")
Django项目在执行 python manage.py migrate进行表迁移时报错 错误截图: 解决方法执行: 问题解决!!!
- 洛谷P1063
[NOIP2006 提高组] 能量项链 题目描述 在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链.在项链上有 \(N\) 颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着 ...
- CF2B
非常恶心的dp题,测试数据也恶心,坑多,特别是0的坑 #include <iostream> #include <utility> #include <string> ...
- Java开发工具和历史版本
eclipse 的历史版本: 版本代号 平台版本 主要版本发行日期 SR1发行日期 SR2发行日期 SR3发行日期 代号名称 N/A 3.0 2004年6月21日 [2] N/A N/A N/A N ...
- 使用vxe-table组件,控制台报错:缺少必要的“{0}”参数,这可能会导致出现错误
这是由于使用vxe表格,给列属性设置 type="html" 只需要开启存,需要启用column-config.useKey与row-config.useKey就可以了
- django 信号第一个 raise ValidationError出现后,还会继续下一个if吗
在你提供的代码片段中,如果第一个 raise ValidationError 触发,会抛出异常并停止执行当前函数或代码块.这是因为异常(Exception)会中断正常的代码流程,将控制权传递给调用堆栈 ...
- C# RSA非对称加密、解密及格式转换
前言 本文主要介绍如何使用.Net自带API结合BouncyCastle类库实现RSA加密和解密,密钥生成和密钥格式转换. 一.RSA介绍 RSA加密算法是1977年由Ron Rivest.Adi S ...
- 调试 Node.js
调试 Node.js 调试器 调试器是一种软件工具,用于通过分析方法观察和控制程序的执行流 设计目标:帮助找出 bug 的根本原因,并帮助你解决它 工作方式:将程序托管在自己的执行进程中或者作为附加到 ...
- adb shell 批处理文件
adb shell 批处理文件 手机截屏,并把图片传到电脑