setuptools打包库
python库为什么可以直接通过pip进行下载
官方释义: pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
pip是python库管理工具,是python官方自带的库管理工具,当然,除去pip还有很多python库管理工具,但使用最多的还是pip!
在我们进行python开发中一定会用到各式各样的python库,我都会惊呼这也太方便的了,只需要pip一下就能轻松解决当下大大小小的问题,那我们又曾想过我们自己写的模块是否也能像这样进行下载使用?下面我就教大家怎么将我们自己开发的模块开放让广大python开发者用!!!
项目库目录规范
项目目录包含
- 所需打包的项目包文件夹
- 解释文档
- setup.py文件
这三者都在同一目录下
具体解释文档请参考: python官方文档.
setup.py的书写
例:
import setuptools
with open("README.md", "r", encoding="utf-8") as f:
long_description = f.read()
setuptools.setup(
name="包名", # Replace with your own username
version="版本",
author="作者",
author_email="邮箱",
description="概括",
long_description=long_description, # 库的介绍
long_description_content_type="text/markdown", # 文档类型
url="跟踪地址",
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
],
py_modules=[""], # 附件模块
install_requires=['openpyxl==3.0.7',
'xlrd==1.2.0'], # 依赖包
python_requires='>=3.6', # python版本
)
还有更多参数具体参考: python官方文档.
上传及下载
上传
# 下载依赖包
pip3 install setuptools wheel twine
# 打包
python3 setup.py sdist bdist_wheel # 运行后会出现一个dist文件夹,这就是我们需要上传到库的文件夹
# 上传
twine upload --repository-url 所上传的地址 dist/*
下载
# 下载
pip install 包名
成功!!!