如何发布自己的python包到PYPI?给自己编写工具代码

热门标签

,
GentleCP

发表文章数:40

首页 » 技术杂谈 » Python » 正文

前言

在我编写某一个项目的时候,时常会发现我又用到了之前某个项目中写过的功能,这个时候只能找到以前的项目,将代码copy到新项目中调用。这是一种非常low的做法,一方面,查找以前的代码,费时费力;另一方面,一看就是初学者喜欢干的,作为一个码龄也算有几年的人,还一直满足于以前这种做法,是没有办法进步的。

如何发布自己的python包到PYPI?给自己编写工具代码
网上其实也有许多类似的教程,但总觉得不够简练、友好,很多地方没有解释清楚,因此干脆自己写一个,方便自己也方便他人。

基础准备

完成项目创立、工具代码编写、必要文件添加的操作

创建项目

这部分应该都驾轻就熟,可以直接创建一个目录或者用pycharm创建一个新项目,并在新项目下创建一个同名目录,例如我创建一个cptools项目,如下图所示:
如何发布自己的python包到PYPI?给自己编写工具代码

  • 为什么要在项目下新建目录而不是直接将代码放在总目录下?

    总目录下除了存放代码外,一般还会存放README,LICENSE以及自动创建的build目录等,因此用这种方式将代码隔离开

编写工具代码

这时候就可以在项目中编写你的个人代码了,通常来说我们代码主要编写为类和函数两种,方便调用。我简单地创建了一个类和函数,放到一个.py文件中,如下图:
如何发布自己的python包到PYPI?给自己编写工具代码

同时为了说明这是一个模块,需要添加一个__init__.py文件,我们经常看到一个包直接提供函数的形式,例如requests.get(),而不是requests.utils.get(),是因为在__init__.py中将该目录下所有文件的方法做了导入。如下图所示,我们将hello_cp.py的所有内容导入,这样我们就可以直接用cptools.hello()去调用hello函数了,如下图:
如何发布自己的python包到PYPI?给自己编写工具代码

name属性是指定包名,和目录一样即可

setup.py

这个文件是用于告诉setuptools我们项目的版本号等信息的,创建在项目总目录下即可,如下所示:

如何发布自己的python包到PYPI?给自己编写工具代码

LICENSE

这里是许可证,一般我们采用MIT LICENSE,原文内容可以点击官网查看

如何发布自己的python包到PYPI?给自己编写工具代码

README.md

这部分是对整个项目的描述,可以编写对项目的介绍,这个时候你的目录应该和我下图显示的类似
如何发布自己的python包到PYPI?给自己编写工具代码

打包发布到PYPI

到前面为止,必须的文件我们已经创建完毕,下面就是如何打包和发布的过程。

打包项目

在总目录下执行如下代码

python setup.py sdist

这时候就会生成一个dist目录,如下所示:
如何发布自己的python包到PYPI?给自己编写工具代码

发布到PYPI

  • 先点击这里注册一个pypi账号

    需要验证邮箱

  • twine模块上传到pypi
    twine upload dist/*

    如何发布自己的python包到PYPI?给自己编写工具代码

    如果没有twine,用pip install twine

查看我们的项目

pypi上搜索cptools
如何发布自己的python包到PYPI?给自己编写工具代码

这时候说明我们可以用pip install cptools安装我们的模块了

测试模块使用

  • pip install cptools
    如何发布自己的python包到PYPI?给自己编写工具代码
  • 调用函数
    如何发布自己的python包到PYPI?给自己编写工具代码

总结

至此,一个完整的python包编写发布过程就结束了,以后有新的内容发布了依然是用相同的方法更新到pypi使用即可,不过记得更新你的版本号和github内容哦~

标签:

未经本人允许不得转载!作者:GentleCP, 转载或复制请以 超链接形式 并注明出处 求索
原文地址:《如何发布自己的python包到PYPI?给自己编写工具代码》 发布于2020-04-17

分享到:
赞(0)

评论 抢沙发

评论前必须登录!

  注册



Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册