共计 1352 个字符,预计需要花费 4 分钟才能阅读完成。
平时写 Python, 须要用到一个新包时, 习惯了 pip install packageName, 写多了就会想, 这些包都是怎么来的? 本人能不能 ” 制作 ” 一个, 任何人也都能够通过 pip 装置?
有此想法, 躬行实践. 答案显然是必定的, 而且难度也绝没有想的那样大, 或者说 It is easy
.
1. 编写代码
如要制作的包名为dashen
, 新建如下目录构造
- 其中两个
__init__.py
为空即可 - README.md 写一些该 package 的介绍, 非必选
your_func.py
是具体的性能实现, 在此示例如下:
def dashen_address(): | |
print('www.dashen.tech') | |
def dashen_master(): | |
print('shuang.cui') | |
def author_hometown(): | |
print('山东邹平') |
setup.py
内容如下:
import setuptools | |
with open("README.md","r") as fh: | |
long_description = fh.read() | |
setuptools.setup( | |
# 包的散发名称,应用字母、数字、_、- | |
name="dashen", | |
# 版本号, 版本号标准:https://www.python.org/dev/peps/pep-0440/ | |
version="0.0.1", | |
# 作者名 | |
author="fliter", | |
# 作者邮箱 | |
author_email="i@dashen.tech", | |
# 包的简介形容 | |
description="我的第二个 python 包", | |
# 包的具体介绍(个别通过加载 README.md) | |
long_description=long_description, | |
# 和上条命令配合应用,申明加载的是 markdown 文件 | |
long_description_content_type="text/markdown", | |
# 我的项目开源地址 | |
url="https://dashen.tech", | |
# 如果我的项目由多个文件组成,咱们能够应用 find_packages()主动发现所有包和子包,而不是手动列出每个包,在这种状况下,包列表将是 example_pkg | |
packages=setuptools.find_packages(), | |
# 对于包的其余元数据(metadata) | |
classifiers=[ | |
# 该软件包仅与 Python3 兼容 | |
"Programming Language :: Python :: 3", | |
# 依据 MIT 许可证开源 | |
"License :: OSI Approved :: MIT License", | |
# 与操作系统无关 | |
"Operating System :: OS Independent", | |
], | |
) |
2. 账号注册及打包
- 注册 Pypi
- 更新 pip,setuptools 和 wheel
pip install --upgrade pip setuptools wheel
- 切换到 setup.py 的同级目录, 进行打包
python setup.py sdist
会呈现两个新文件
3. 上传
上传 Pypi
pip install twine
(如果曾经装置 twine,跳过此步骤)
python -m twine upload dist/*
输出 Pypi 的账号及明码
4. 查看及测验
<font color:”red”> 完结, 撒花 </font>
本文由 mdnice 多平台公布
正文完