实用功能:发布自己的包到PYPI

本文详细介绍了如何注册并安全地在PyPI上发布Python包,包括创建必要的文件(如init、setup.cfg、README等)、设置APItoken、编写setup.py、执行`pythonsetup.pysdist`和`twineuploaddist/*`命令,以及注意事项。
部署运行你感兴趣的模型镜像

如何发布自己的包到Pypi?

最近在用了一些库,突发奇想,那我能不能把他封装一下到时候我还能直接调用呢,突然就想到Pypi,那这样我就可以pip install了。

于是,我开始在网上开始寻找,我找了好多发现,现在登录使用token了,中间有很多坑,所以这次我就进行总结性的写下。

1、注册Pypi

​ 首先登录这个网页

image-20240125214622921

​ 注册很简单,当然你点到个人中心就多了一堆东西,没关系下面我来一点一点教你怎么,注册认证完整。(这里我就把注册认证一次性全部做完,方便后面使用)

​ 注册完成邮箱会有一个验证连接点一下就行

​ 接下来点击 Accoun setting

image-20240125214915903

我这里出现了密码确认,确认一下就行

image-20240125215104842

进去之后往下滑有个这个,我理解得就是二重验证

image-20240125215234772

​ 你点进去之后会给你一个QR code,让你扫码,那么这样有些小伙伴就蒙了,怎么扫的,我网上查找后资料,发现你需要在手机上下载谷歌商店,然后谷歌商店下载一个叫做“验证器应用程序”的软件,然后扫码之后,会有个验证码,你填到页面就行。这样就OK了。

​ 当你双重身份添加完成之后就可以,添加API tokens 了,PYPI现在更新了,后面使用时候账号密码不给我用了,当时又让我使用给这个,点击add API token

image-20240125215541198

输入信息,然后创建

image-20240125215610068

设置完成,创建成功后会有这些内容:注意一定要保护好自己的token,因为之出现一次。到此位置就创建好了

image-20240125215759038

2、创建内容

​ 对于要发布,首先要有一下内容:(我这里画圈的是一定要有的,其他内容后续命令产生)

image-20240125220107613

2.1 init 文件

以我的为例里面内容是

from OneNetAPI.OneNet import OneNet
#from 包名字.py文件名字 import 类名字

2.2 setup.cfg

# Inside of setup.cfg
[metadata]
description-file = README.md

2.3 README.md

​ 这里面写一写一些用法就行

2.4 LISENCE.txt

​ MIT 等开源声明(这个自行百度呗,选择一个合适的进行声明)

2.4 setup.py

​ 下面我会将一些重要的内容进行中文注释

from distutils.core import setup
setup(
  name = 'OneNetAPI',         # 写包的名字
  packages = ['OneNetAPI'],   # 写包的名字
  version = '0.4',      # Start with a small number and increase it with every change you make
  license='MIT',        # 选择一个开源许可对应你刚才那个from here: https://help.github.com/articles/licensing-a-repository
  description = 'OneNetAPI API',   # Give a short description about your library
  author = '',                   # 填写作者名称
  author_email = '',      # 填写email
  url = '',   # Provide either the link to your github or to your website
  download_url = '',    # I explain this later on
  keywords = ['API', 'OneNetAPI', 'Python'],   # Keywords that define your package best
  install_requires=[            # 包的依赖
          'requests',       # 可以加上版本号,如validators=1.5.1
          'datetime',
          'urllib3==1.26.6',
      ],
  classifiers=[
    'Development Status :: 3 - Alpha',      # Chose either "3 - Alpha", "4 - Beta" or "5 - Production/Stable" as the current state of your package
    'Intended Audience :: Developers',      # Define that your audience are developers
    'Topic :: Software Development :: Build Tools',
    'License :: OSI Approved :: MIT License',   # 再次选择
    'Programming Language :: Python :: 3.7',
  ]
)

有关一些classifiers的填写要正确不然后面运行编译命令会报错,可以参考:Classifiers · PyPI

3、执行命令

python setup.py sdist

​ 执行完上述命令发现,多了个一些文件就是我刚才图中的

​ 接下来执行下面命令进行上传

pip install twine
twine upload dist/*

​ 注意下面用户名填写我图片的,密码填写你刚才的API token的第二行,注意填写过程密码是看不见的,然后等待提交

image-20240125221325698

4、上传成功

​ 最后终端会给出你的成功内容,就可以pip啦。

image-20240125221439806

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值