Python全方位构建自己的第三方库--让别人pip install你的三方库
构建自己的第三方库整体需要以下6个步骤:
1. 第一步 成为Python官方库的开发者
2. 使用编辑器IDE实现自己的Python模块-库
3. setup设置
4. 根目录下新建README.md文件
5. 本地打包项目
6. 提交到pypi官网即可
7. 测试校验是否提交成功
1. 第一步 成为Python官方库的开发者
1.1 PyPi官网 https://pypi.org/
1.2 注册账号
注册账号不需要手机号哟!
1.3 激活邮箱
2. 使用编辑器IDE实现自己的Python模块-库
IDE没有限制, 这里使用的是Pycharm
2.1 新建Python项目, 使用虚拟环境
2.2 新建一个包,取名为你要上传的库的名字
2.3 实现自己封装的主功能
3. setup设置
在项目根目录下新建setup.py文件, 此文件是打包的一些配置项, 大家可以根据自己的实际情况配置
"""A setuptools based setup module.
See:
https://packaging.python.org/guides/distributing-packages-using-setuptools/
https://github.com/pypa/sampleproject
"""
# Always prefer setuptools over distutils
from setuptools import setup, find_packages
import pathlib
here = pathlib.Path(__file__).parent.resolve()
# Get the long description from the README file
long_description = (here / "README.md").read_text(encoding="utf-8")
# Arguments marked as "Required" below must be included for upload to PyPI.
# Fields marked as "Optional" may be commented out.
setup(
name="sampleproject", # Required 项目名称
version="2.0.0", # Required 发布版本号
description="A sample Python project", # Optional 项目简单描述
long_description=long_description, # Optional 详细描述
long_description_content_type="text/markdown", # 内容类型
url="https://github.com/pypa/sampleproject", # Optional github项目地址
author="A. Random Developer", # Optional 作者
author_email="author@example.com", # Optional 作者邮箱
classifiers=[ # Optional 分类器通过对项目进行分类来帮助用户找到项目, 以下除了python版本其他的 不需要改动
"Development Status :: 3 - Alpha",
# Indicate who your project is intended for
"Intended Audience :: Developers",
"Topic :: Software Development :: Build Tools",
# Pick your license as you wish
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3 :: Only",
],
keywords="sample, setuptools, development", # Optional 搜索关键字
package_dir={"": "src"}, # Optional 手动指定包目录
packages=find_packages(where="src"), # Required
python_requires=">=3.7, <4", # python 版本要求
install_requires=["peppercorn"], # Optional 第三方依赖库
extras_require={ # Optional
"dev": ["check-manifest"],
"test": ["coverage"],
},
package_data={ # Optional 包数据
"sample": ["package_data.dat"],
},
data_files=[("my_data", ["data/data_file"])],
entry_points={ # Optional
"console_scripts": [
"sample=sample:main",
],
},
project_urls={ # Optional 和项目相关的 其他网页连接资源
"Bug Reports": "https://github.com/pypa/sampleproject/issues",
"Funding": "https://donate.pypi.org",
"Say Thanks!": "http://saythanks.io/to/example",
"Source": "https://github.com/pypa/sampleproject/",
},
)
部分常用的参数配置含义
以下是我codepay功能模块的配置内容
# setup.py
import setuptools
import pathlib
here = pathlib.Path(__file__).parent.resolve()
long_description = (here / "README.md").read_text(encoding="utf-8")
setuptools.setup(
name="CodePay",
version="1.0",
author="LCF",
author_email="1019197976@qq.com",
description="codepy python library",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/codepay",
packages=setuptools.find_packages(),
license="Apache 2.0",
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3 :: Only",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
keywords="codepay, codepay_python",
)
4. 根目录下新建README.md文件
README.md 文件创建在根目录下, 主要是给使用者一些 使用说明和注意事项,方便长片描述用的
5. 本地打包项目
进入项目的根目录执行:python setup.py sdist
6. 最后一步了😁--提交到pypi官网即可
6.1 安装twine库, 方便提交
pip install twine
6.2 在项目根目录-使用 twine upload dist/*
指令进行提交
7. PyPi官网查看和本地验证
7.1 PyPi官网查看
7.2 本地验证
pip install CodePay -i https://pypi.org/simple
小贴士: 注意本地下载安装的时候, 很多老司机是修改过的pip的镜像源的, 因为我们是刚提交到PyPi官网的, 其他镜像源是不能快速同步到我们的新第三方库的, 所以 如果安装失败, 需要指定PyPi的默认镜像源下载安装!