构建自己的Python包到Pypi
作者:matrix 发布时间:2023-04-28 分类:Python
安装构建工具
首先确保安装了setuptools
和wheel
。如果没有就运行以下命令安装:
$ pip3 install setuptools wheel twine
配置项目
目录结构可参考:
https://github.com/Hootrix/text-box-wrapper
项目中包含以下文件:
setup.py:包含项目的元数据和依赖关系。
README.md:项目的描述文件。
LICENSE:选择一个许可证并将其放在此文件中。
wrapper.py:自己定义的文件,包含功能代码
__init__.py 包定义,以及可引入的方法
配置setup.py
setup.py可配置作者、readme、仓库等信息
import os
from setuptools import setup, find_packages
with open(os.path.join(os.path.dirname(__file__), "README.md"), encoding="utf-8") as f:
long_description = f.read()
setup(
name="text-box-wrapper",
version="0.1.5",
description="A simple package to wrap text with ASCII art",
author="Ho",
author_email="wdzxnwo2r@mozmail.com",
packages=find_packages(),
install_requires=[
"wcwidth"
],
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
],
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/Hootrix/text-box-wrapper",
)
构建
$ python3 setup.py sdist bdist_wheel
说明:
将在dist的新文件夹中生成源代码和二进制分发文件
上传到Pypi
确保已经注册了PyPI账户
$ twine upload dist/*
正常操作输入pypi账户和密码即可完成推送
如果账户设置了两步验证可能需要使用api token
保存你的api token到~/.pypirc
文件中,如果没有就自己新建
[pypi]
username = __token__
password = pypi-A1************bQ
执行推送后类似下面内容,就是完成了
$ twine upload dist/*
Uploading distributions to https://upload.pypi.org/legacy/
Uploading text_box_wrapper-0.1.0-py3-none-any.whl
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.4/8.4 kB • 00:01 • 777.3 kB/s
Uploading text-box-wrapper-0.1.0.tar.gz
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3/8.3 kB • 00:00 • 799.3 kB/s
View at:
https://pypi.org/project/text-box-wrapper/0.1.0/
正常安装
$ pip3 install text-box-wrapper