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