百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

教你装逼了:怎么样发布你的 Python 代码给别人“pip install”

off999 2024-09-26 16:11 18 浏览 0 评论


我们经常在使用某些功能的时候,都会去安装一些第三方的模块,比如 “pip install requests”,感觉逼都被别人装了,你有没有想过,自己搞一个模块,给别人直接 pip install 到他的电脑里面直接使用呢?是不是突然就逼格满满了?

关注,转发,私信小编“01”免费领取Python学习资料!





有些人说,“我现在还写不出牛逼的模块啊,这就有点尴尬了”。其实没有关系,咱们先装逼要紧。当然,如果你哪一天写了一个非常牛逼的模块,火了之后不要忘记小帅b就行。


那么如何将你的代码打包,然后发到 pypi 上让别人直接 pip install 呢?

接下来就是:

学习 Python 的正确姿势




要打一个 Python 包到 PYPI 上,是需要一定的目录结构的,首先我们可以创建一个目录,作为演示,小帅b在这里创建一个帅b包:

mkdir shuaib_package

接着我们就进入这个帅b包:

cd shuaib_package/

接着我们在这个目录下创建一个存放你代码的目录,这里就叫 xiaoshuaib 好了:

mkdir xiaoshuaib

我们进入这个目录:

cd xiaoshuaib/

创建你的代码,这里为了演示,我就创建一个 xiaoshuaib.py 好了 :

touch xiaoshuaib.py

在这个 py 里面就简单写一个输出的方法好了:




在这个 xiaoshuaib 目录下还必须要创建一个 __init__.py 来告诉别人你的模块是啥:

touch __init__.py

在这个 __init__.py 写下你的 name 和导入你的代码模块:




ok,此时此刻,你的文件目录是这样的:




只有这几个文件还是不够的,我们还要再创建几个必要的文件,分别是 setup.py、LICENSE、READEME.md, 至于创建这几个文件有什么鸟用,等会帅b给你细细地道来,废话不要那么多,先创建再说:

cd shuaib_package/

touch setup.py

touch LICENSE

touch README.md

那么到现在这个时候,你的文件目录应该是这样的:




接下啦帅b就跟你说说这几个文件分别有什么鸟用。

1、setup.py

这个文件主要是要告诉 setuptools ,我们的包里面的一些信息,比如名称啊,版本号啊,作者,邮箱等等...

我们来编辑一些这个文件:




这里面对应的意思应该不用我多说了吧,就是一些你的模块信息,像我这样填入你自己的就好了。

2、README.md

在这里就可以对你的模块进一步各种吹了,刚我们写的 setup 文件里面也引用到了这个文件,主要是怕你吹的太多,所以直接用 markdown 让你吹个够,我们打开这个 README 文件吹一波:




好吧,我这里作为演示就只吹这么一点点够了...


3、LICENSE

在开源的世界里, LICENSE 是必不可少的,我们可以在这里声明:你要免费用我的代码是吧?可以,但是你得署名一下啊,要让别人知道这是我搞出来的啊,老子不要钱,但不能说这是你自己搞出来的好吧?

LICENSE 有好几种不同的声明,以后有机会帅b再跟你说说,这次就用 MIT 的 LICENSE ,我们编辑一下我们刚刚创建的 LICENSE:




好了,现在我们所需的文件就弄好了,接下来就可以将我们的东西给生成可分发的文件,在此之前我们要安装并且更新好 setuptools 和 wheel 模块:

python3 -m pip install --user --upgrade setuptools wheel

安装完成之后,你就可以在你刚刚创建的目录执行以下命令生成啦:

python3 setup.py sdist bdist_wheel

这时候你就会发现,你的目录下会多了一个 dist 的目录,这正是 pypi 所需要的:




万事具备,就差 tm 的上传了啊,那么你现在就要有一个 pypi 的账号,你可以到以下链接注册一个账号:

https://pypi.org/account/register/

如果说你只想自己试着小打小闹一下,可以到这里注册一个测试版的:

https://test.pypi.org/account/register/




不管咋地,反正你迟早会注册好一个账号的对吧?值得注意的是,你要验证下你的邮箱,代表你不是机器人注册的账号:




那么此时此刻,你所需的文件也有了,账号也有了,这次就真的只差上传一个动作了,我们需要 twine 这个模块来进行上传操作,先安装一下:

python3 -m pip install --user --upgrade twine

安装好了之后,相信我,一点也不复杂,一个命令就能搞定上传,进入你的目录,然后执行以下命令把你刚刚生成的 dist 上传上去:

twine upload dist/*




这样,我们就将我们的模块上传上去了!!

去官网搜一下 xiaoshuaib 先:




哈哈哈哈,有了,我们来安装一波吧:

pip install xiaoshuaib




安装成功,来使用一波:




哈哈哈,完美使用。

ok,以上就是从 0 到 发布一个 pypi 包的完整流程,希望对你有帮助,记得点“在看”。那么我们下回见,peace!

相关推荐

python入门到脱坑经典案例—清空列表

在Python中,清空列表是一个基础但重要的操作。clear()方法是最直接的方式,但还有其他方法也可以实现相同效果。以下是详细说明:1.使用clear()方法(Python3.3+推荐)...

python中元组,列表,字典,集合删除项目方式的归纳

九三,君子终日乾乾,夕惕若,厉无咎。在使用python过程中会经常遇到这四种集合数据类型,今天就对这四种集合数据类型中删除项目的操作做个总结性的归纳。列表(List)是一种有序和可更改的集合。允许重复...

Linux 下海量文件删除方法效率对比,最慢的竟然是 rm

Linux下海量文件删除方法效率对比,本次参赛选手一共6位,分别是:rm、find、findwithdelete、rsync、Python、Perl.首先建立50万个文件$testfor...

数据结构与算法——链式存储(链表)的插入及删除,

持续分享嵌入式技术,操作系统,算法,c语言/python等,欢迎小友关注支持上篇文章我们讲述了链表的基本概念及一些查找遍历的方法,本篇我们主要将一下链表的插入删除操作,以及采用堆栈方式如何创建链表。链...

Python自动化:openpyxl写入数据,插入删除行列等基础操作

importopenpyxlwb=openpyxl.load_workbook("example1.xlsx")sh=wb['Sheet1']写入数据#...

在Linux下软件的安装与卸载(linux里的程序的安装与卸载命令)

通过apt安装/协助软件apt是AdvancedPackagingTool,是Linux下的一款安装包管理工具可以在终端中方便的安装/卸载/更新软件包命令使用格式:安装软件:sudoapt...

Python 批量卸载关联包 pip-autoremove

pip工具在安装扩展包的时候会自动安装依赖的关联包,但是卸载时只删除单个包,无法卸载关联的包。pip-autoremove就是为了解决卸载关联包的问题。安装方法通过下面的命令安装:pipinsta...

用Python在Word文档中插入和删除文本框

在当今自动化办公需求日益增长的背景下,通过编程手段动态管理Word文档中的文本框元素已成为提升工作效率的关键技术路径。文本框作为文档排版中灵活的内容容器,既能承载多模态信息(如文字、图像),又可实现独...

Python 从列表中删除值的多种实用方法详解

#Python从列表中删除值的多种实用方法详解在Python编程中,列表(List)是一种常用的数据结构,具有动态可变的特性。当我们需要从列表中删除元素时,根据不同的场景(如按值删除、按索引删除、...

Python 中的前缀删除操作全指南(python删除前导0)

1.字符串前缀删除1.1使用内置方法Python提供了几种内置方法来处理字符串前缀的删除:#1.使用removeprefix()方法(Python3.9+)text="...

每天学点Python知识:如何删除空白

在Python中,删除空白可以分为几种不同的情况,常见的是针对字符串或列表中空白字符的处理。一、删除字符串中的空白1.删除字符串两端的空白(空格、\t、\n等)使用.strip()方法:s...

Linux系统自带Python2&yum的卸载及重装

写在前面事情的起因是我昨天在测试Linux安装Python3的shell脚本时,需要卸载Python3重新安装一遍。但是通过如下命令卸载python3时,少写了个3,不小心将系统自带的python2也...

如何使用Python将多个excel文件数据快速汇总?

在数据分析和处理的过程中,Excel文件是我们经常会遇到的数据格式之一。本文将通过一个具体的示例,展示如何使用Python和Pandas库来读取、合并和处理多个Excel文件的数据,并最终生成一个包含...

【第三弹】用Python实现Excel的vlookup功能

今天继续用pandas实现Excel的vlookup功能,假设我们的2个表长成这样:我们希望把Sheet2的部门匹在Sheet1的最后一列。话不多说,先上代码:importpandasaspd...

python中pandas读取excel单列及连续多列数据

案例:想获取test.xls中C列、H列以后(当H列后列数未知时)的所有数据。importpandasaspdfile_name=r'D:\test.xls'#表格绝对...

取消回复欢迎 发表评论: