在PyPI上发布自己的python包

最近学习了一下,发布了一个自己的pypi Python包,这里我大致分享如何发布自己的Pypi包一般过程。
参考文章01:

https://blog.csdn.net/weixin_37543731/article/details/101192428

0 需求分析

我需要讲我写的myPrint()函数公布给别人用,别人下载我的xiaoTangPypi包,然后可以调用myPrint()函数

1 注册 PyPI 测试账号

注册地址:https://test.pypi.org/account/register/

2 安装环境

先确保已经安装了最新版本的 setuptools, wheel, twine

pip install --user --upgrade setuptools wheel twine

3 创建项目包myPypiTest

目录树结构:

F:.
│  README.md
│  setup.py
│
└─xiaoTangPypi
        xiaoTangTest.py
        __init__.py

在这里插入图片描述

3.1 创建 setup.py

setup.py 是 setuptools 的构建脚本,告知 setuptools 包的名称和版本,以及哪些文件将被打包。

在项目根目录新建文件 setup.py ,复制黏贴如下代码到 setup.py:

import setuptools

with open("README.md", "r",encoding='utf-8') as fh:
    long_description = fh.read()

setuptools.setup(
    name="xiaoTangPypi",
    version="0.0.1",
    author="xiaoTang",
    author_email="123456@gmail.com",
    description="Simple test example",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/taw19960426/-Speech-signal-processing-experiment-tutorial-_python.git",
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.6',
)

3.2 创建__init__.py

_init_.py 是包内部模块对外的导出接口,或者说,当使用 import 时的导入对象。 我们把需要提供外部应用使用的函数,数据,类等都放在这个文件里。当然,并非一定要此文件里实现,import 进来的模块也会被导出,例如下面的
xiaoTangTest.py下的myPrint()函数。

在项目根目录新建文件夹xiaoTangPypi,xiaoTangPypi文件夹下存放__init__.py和我写的函数包xiaoTangTest.py,目录树如下:
在这里插入图片描述

_init_.py
该文件就一个目的,我把要调用的函数声明在这里,如果涉及到命令行传参,参考文章:

https://blog.csdn.net/weixin_37543731/article/details/101192428
#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
from .xiaoTangTest import *

def myPrint():
    return xiaoTang()

xiaoTangTest

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@File    :xiaoTangTest.py
@Author  :唐维康
@Date    :2022/3/25 10:52 
@功能:
@用法:
'''
def xiaoTang():
    print("**********hello xiaoTang!!!*********")

4 打包项目包

首先切换到setup.py所在的目录:cd ***
然后执行:

python setup.py sdist bdist_wheel

运行后,项目目录结构如下:

F:.
│  README.md
│  setup.py
│
├─build
│  ├─bdist.win-amd64
│  └─lib
│      └─xiaoTangPypi
│              xiaoTangTest.py
│              __init__.py
│
├─dist
│      xiaoTangPypi-0.0.1-py3-none-any.whl
│      xiaoTangPypi-0.0.1.tar.gz
│
├─xiaoTangPypi
│      xiaoTangTest.py
│      __init__.py
│
└─xiaoTangPypi.egg-info
        dependency_links.txt
        PKG-INFO
        SOURCES.txt
        top_level.txt

在这里插入图片描述

5 上传和安装

5.1 上传

期间会让你输入Pypi的账户和密码

python -m twine upload dist/*

上传完了以后,Pypi可以看到的
在这里插入图片描述

5.2 下载

pip install xiaoTangPypi -i https://pypi.tuna.tsinghua.edu.cn/simple

简单写个测试代码

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@File    :test01.py
@Author  :唐维康
@Date    :2022/3/25 16:40 
@功能:
@用法:
'''
import xiaoTangPypi

xiaoTangPypi.myPrint()

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐维康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值