python打包安装whl
1、安装setuptools、wheel
2、创建README.md
3、创建setup.py
from setuptools import setup, find_packages setup( name = "silver_needle", version = "0.1.0", # keywords = ("pip", "okta", "cli", "cmd", "steven"), description = "okta cli", # long_description = long_description, # long_description_content_type='text/markdown', python_requires=">=3.5.0", license = "MIT Licence", # url = "https://github.com/stevenQiang/okta-cmd", # author = "wutong", # author_email = "qianggao7@gmail.com", packages = find_packages(), include_package_data = True, # install_requires = ["requests", "click"], platforms = "any", # scripts = [], # entry_points = { # 'console_scripts': [ # 'okta-cmd=oktacmd:main_cli' # ] # } )
- name: 该package的名字,该名字可以由字母、数字、-组成,注意这个名字不能与其它已经上传到pypi.org的项目相同
- version: 这个就是包的发布版本,可以直接写在这,也可以从其它地方引用
- author: author可以用来指定该package的作者信息
- author_email: 这个也是指定该package的作者信息
- description: 对当前package的较短的总结
- long_description: 是对当前package的详细说明。这一详细说明将被展示在Python Package Index上当前项目的主页
- long_description_content_type: 指定了long_description内容的格式。在当前情况下为markdown
- url: 是当前package的主页链接。大多数情况下这是一个GitHub, GitLab, Bitbucket或者其他代码存储服务的链接
- packages: 是一系列应当包含在发布软件包文件(distribution package)中的可被import的python包文件。我们可以手动在此处罗列所有文件。
或者如本例中一样使用find_packages()函数自动包含所有的python包文件以及子包文件。 - python_requires: python依懒版本
- classifiers: 指定了当前package的其他元信息(metadata)。例如当前package兼容的python版本和操作系统,当前package提供的功能的类型,
当前package的许可证等等。我们应当总是至少包括当前package所支持的python版本,操作系统和许可证。注意此处定义的classifiers关键字
所包含的信息应当符合PyPI的规定。 - install_requires: 指定了当前package所依赖的其他python类库。这些指定的python类库将会在本package被安装的时候一并被安装。
- platforms: 程序适用的软件平台列表
- keywords: 程序的关键字列表
- include_package_data: 是否自动包含包内所有受版本控制(cvs/svn/git)的数据文件,默认True
- entry_points: 用来支持自动生成cli命令
4、python setup.py bdist_wheel
5、pip install **.whl
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义