制作模块
pip install 模块名字
1,编写模块
2,将模块进行打包
3,上传到PyPI(需要先注册PyPI账号)
- 注册PyPI账号
- 安装上传工具
- 基于工具进行上传
假设,现在要做一个名称叫 fucker 的模块,
第一步 项目文件夹
fucker
├── LICENSE # 声明,给模块使用者看,说白了就是使用者是否可以免费用于商业用途等。
├── README.md # 模块介绍
├── demos # 使用案例
├── fucker # 模块代码目录
│ └── __init__.py
└── setup.py # 给setuptools提供信息的脚本(名称、版本等)
1.1 License
LICENSE文件就是咱们模块的许可证,给模块使用者看,说白了就是使用者是否可以免费用于商业用途等。一般开源的软件会选择相对宽泛许可证 MIT,即:作者保留版权,无其他任何限制。
1.2 readme
readme就是对于当前模块的描述信息,一般用于markdown格式编写,
1.3 demos目录
demos一般会写一些该模块使用的示例,用于使用者快速可以将模块应用到生成中。
1.4 setup.py
setup.py文件其实是一个配置文件,用于给setuptools提供一些模块相关的信息,如:模块名称、模块版本、适用的python版本、作者、github地址等。
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name="fucker", # 模块名称
version="1.0", # 当前版本
author="wupeiqi", # 作者
author_email="wupeiqi@live.com", # 作者邮箱
description="一个非常NB的包", # 模块简介
long_description=long_description, # 模块详细介绍
long_description_content_type="text/markdown", # 模块详细介绍格式
# url="https://github.com/wupeiqi/fucker", # 模块github地址
packages=setuptools.find_packages(), # 自动找到项目中导入的模块
# 模块相关的元数据
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
# 依赖模块
install_requires=[
'pillow',
],
python_requires='>=3',
)
注意:setuptools是一个包管理工具,可用于打包和安装模块。
1.5 fucker目录
插件内容,可以将相关代码在此处编写,如:wp.py
def func():
print("一个神奇的包")
最后的文件夹如下:
fucker
├── LICENSE
├── README.md
├── demos
├── fucker
│ ├── __init__.py
│ └── wp.py
└── setup.py
第二步 代码打包&上传
上述步骤中将文件夹和代码编写好之后,就需要对代码进行打包处理。
2.1 安装打包工具(已有无需重复安装)
打包代码需先安装setuptools和wheel两个工具,可以单独安装,也可以安装pip,从而自动安装这两个工具。
已安装用户,如要更新setuptools和wheel两个工具,可通过如下命令:
python -m pip install --upgrade setuptools wheel
2.2 打包代码
python setup.py sdist bdist_wheel
fucker
├── LICENSE
├── README.md
├── fucker
│ ├── __init__.py
│ └── wp.py
├── fucker.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ └── top_level.txt
├── build
│ ├── bdist.macosx-10.6-intel
│ └── lib
│ └── fucker
│ ├── __init__.py
│ └── wp.py
├── demos
├── dist
│ ├── fucker-0.0.1-py3-none-any.whl
│ └── fucker-0.0.1.tar.gz
└── setup.py
2.3 发布模块(上传)
文件打包完毕后,需要将打包之后的文件上传到PyPI,如果想要上传是需要先去 https://pypi.org/ 注册一个账号。
- 安装用于发布模块的工具:twine 【已安装无需重复安装】
python -m pip install --upgrade twine
或
pip install --upgrade twine
# 提示:python -m 的作用是 run library module as a script (terminates option list)
- 发布(上传)
python -m twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
或
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
上传时,提示需要输入PyPI的用户名和密码.
浙公网安备 33010602011771号