一、参考资料

python打包wheel文件
Python打包whl文件

二、重要说明

打包的package中需要包含README.md、LICENSE[非必须]和setup.py文件。三者分别是说明文档,许可证以及python setuptools所用来安装该package的构建脚本。

setup.py中包含了package对应的信息(例如该package的名称、版本、作者)以及该package应当包含的程序文件和数据。

三、参数解释

name: 该package的名字,该名字可以由字母、数字、-组成,注意这个名字不能与其它已经上传到pypi.org的项目相同
version: 这个就是包的发布版本,可以直接写在这,也可以从其它地方引用
author: author可以用来指定该package的作者信息
author_email: 这个也是指定该package的作者信息
py_modules: 打包的.py文件
license: 支持的开源协议
description: 对当前package的较短的总结
long_description: 是对当前package的详细说明。这一详细说明将被展示在Python Package Index上当前项目的主页
long_description_content_type: 指定了long_description内容的格式。在当前情况下为markdown
url: 是当前package的主页链接。大多数情况下这是一个GitHub, GitLab, Bitbucket或者其他代码存储服务的链接
packages: 打包的python文件夹,是一系列应当包含在发布软件包文件(distribution package)中的可被import的python包文件。我们可以手动在此处罗列所有文件。或者如本例中一样使用find_packages()函数自动包含所有的python包文件以及子包文件。
python_requires: python依懒版本
classifiers: 指定了当前package的其他元信息(metadata)。例如当前package兼容的python版本和操作系统,当前package提供的功能的类型,当前package的许可证等等。我们应当总是至少包括当前package所支持的python版本,操作系统和许可证。注意此处定义的classifiers关键字所包含的信息应当符合PyPI的规定。
requires : 定义依赖哪些模块
install_requires: 指定了当前package所依赖的其他python类库。这些指定的python类库将会在本package被安装的时候一并被安装。
platforms: 程序适用的软件平台列表
keywords: 程序的关键字列表
include_package_data: 是否自动包含包内所有受版本控制(cvs/svn/git)的数据文件,默认True
entry_points: 用来支持自动生成cli命令

四、关键步骤

printdemo.py

def demo():print('print demo')

setup.py

from setuptools import  setup
setup(name='printtest',version='1.0',py_modules=['printtest']
)
from setuptools import setupsetup(name='quantizer',version='1.0.0',description='Offline quantitative toolkit.',long_description='This kit can be applied on the edge or terminal equipment, \the model can be offline quantitative compression.\Note, this toolkit tied with hardware devices.',author='yoyo',author_email='cs_jaxu@163.com',url='https://www.python.org/',license='MIT',keywords='ga nn',project_urls={'Documentation': 'https://packaging.python.org/tutorials/distributing-packages/','Funding': 'https://donate.pypi.org','Source': 'https://github.com/pypa/sampleproject/','Tracker': 'https://github.com/pypa/sampleproject/issues',},py_modules=['build_engine'],install_requires=['numpy>=1.14', 'tensorflow>=1.7'],python_requires='>=3',platforms='Linux'
)

制作wheel文件

python setup.py bdist_wheel
.
├── build
│   ├── bdist.linux-x86_64
│   └── lib
│       └── printdemo.py
├── dist
│   └── printdemo-1.0.0-py3-none-any.whl
├── printdemo.egg-info
│   ├── dependency_links.txt
│   ├── PKG-INFO
│   ├── requires.txt
│   ├── SOURCES.txt
│   └── top_level.txt
├── printdemo.py
└── setup.py5 directories, 10 files

安裝wheel包

cd dist
pip install printdemo-1.0.0-py3-none-any.whl

测试wheel包

import printdemo
printdemo.demo()

执行结果

(tensorRT-efficientdet) yichao@yichao:~/桌面/生产环境$ python
Python 3.7.11 (default, Jul 27 2021, 14:32:16)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import printdemo
>>> printdemo.demo()
print demo

python打包wheel文件相关推荐

  1. python 打包wheel文件,自己的SDK包

    python 打包wheel文件,自己的SDK包 文章目录 python 打包wheel文件,自己的SDK包 具体参考官方 文件目录结构 `setup.py` `demo.py` `__init__. ...

  2. 浅试python打包exe文件 + ico图像制作

    目录 1. python打包exe文件教程 2. ico图像制作 2.1 找ico 2.2 转ico 1. python打包exe文件教程 在B站上看了两个教程: Py文件打包成exe文件直接用 Py ...

  3. 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)

    我们编写的程序可以发给其他小伙伴使用,但是其他小伙伴不一定安装有python.这时候就需要用到打包啦.打包可以将程序打包成exe文件.然后小伙伴在windows平台里就可以运行(无需python).直 ...

  4. Python的wheel文件安装

    *用于Python扩展包的非官方Windows二进制文件 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 我们以Twisted为例,选择适合自己电脑和pytho ...

  5. python打包whl文件

    简介 当我们自己开发完一个项目时,如果想在别的电脑上使用,将所有文件复制比较麻烦,这时将所有项目打包成一个whl文件,再到别的电脑安装就很简单了 准备一个新的虚拟环境:避免版本冲突 安装wheel,后 ...

  6. Python打包Wheel包的傻瓜式一站教程

    本教程只讲最简单的情况,把一个python的project打包成一个wheel包. 1. setup.py 文件示例: from setuptools import find_packages fro ...

  7. python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值

    #!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...

  8. python打包exe文件

    首先安装pyinstaller pip3 install pyinstaller 接着导报指定文件 pyinstaller.exe -F 文件路径+文件名 举例 pyinstaller.exe -F ...

  9. python 打包 小文件_[Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件

    1.安装 pyinstaller 插件 cmd命令:pip install PyInstaller PS . o.o 不知道 easy_install 的百度吧. 2.pyinstaller 简介 他 ...

最新文章

  1. 通过双向证书认证使用 gSOAP 访问 web services
  2. 分组合计且排序和显示名称
  3. 003 Android之线性布局与基础控件
  4. angularjs 导出excel php,AngularJS 导出Excel指令
  5. 经典C语言程序100例之三三
  6. BigInteger类详解
  7. 我发现:在StackOverflow上拯救歪果仁十分有意思!
  8. 多域名环境,页面获取url的一种方案
  9. 分段式多级离心泵_溧阳耐磨矿用多级泵水泵厂
  10. 机器学习之-BoostedTree
  11. 实对称矩阵的特征值求法_机器学习与线性代数 - 特殊矩阵
  12. 轩辕实验室 |自动驾驶系统安全隐患分析
  13. 关于微信小程序img标签不能显示图片的问题
  14. office2007设置默认粘贴为选择性粘贴
  15. 九寨沟地震类毕业论文文献都有哪些?
  16. 小程序自定义tabbar,不同用户显示不同页面
  17. python-20180103-1
  18. python协同过滤电影推荐的论文_协同过滤?教你用Python实现协同过滤
  19. 从JSP跳转到Servlet的两种方式
  20. 《有限与无限的游戏》第三章 我是自己的天才:经典摘抄(2)

热门文章

  1. 最新仿首涂第二十一套苹果CMSv10模板带会员自适应超宽屏主题
  2. oracle序列累加循环,Oracle 序列的使用与说明
  3. 使用pdfbox2.0将PDF转换为图片时后台报Cannot read JBIG2 image: jbig2-imageio is not installed错误的解决方法
  4. 资源变现资讯、新闻、自媒体、博客小程序(可引流,开通流量主,带pc后台管理)
  5. 如果Spring中有两个ID相同的Bean,会报错吗?
  6. oppo计算机隐藏功能介绍,OPPO手机隐藏功能:大部分不清楚,OPPO原来还能这么玩...
  7. 爱奇艺iOS移动端网络优化实践 | 请求成功率优化篇
  8. WF4.0 基础篇 (二十六) Interop调用WF3.X的Activity
  9. 自定义Counter使用 与
  10. 手机测试充电宝软件,记者随机测试5款产品 “有共享充电宝半小时只充了11%”...