教你装逼了:怎么样发布你的 Python 代码给别人“pip install”
off999 2024-09-26 16:11 29 浏览 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!
相关推荐
- 不知道密码怎么连接wifi网络
-
不知道WiFi密码怎么连接,如果你不知道WiFi密码的话,那我没有办法连接网络,你必须去找WiFi密码是主人,然后询问密码,只有你得到了最准确的密码以后,你才可以开启你的WiFi网络设置,然后输入正确...
- u盘写了保护怎么把保护删掉了
-
U盘写保护可以通过以下几种方法去除:1.取消U盘的写保护开关。有些U盘上面自带写保护的开关,如果被拨到写保护状态时,就会对U盘进行写保护,这种情况解决的办法最简单,直接将开关拨回原位即可。2.修复...
- 深度ghost精简xp(深度ghost文件)
-
windowsxp下运行ghost方法如下:1、首先把GHOST.EXE程序复制到你的硬盘某区上(不要是C区,假如是E区)。2、然后重新启动电脑,重启过程中按DEL键进入BIOS设置,设置为从光驱启...
- 固态硬盘如何安装(固态硬盘如何安装系统)
-
1、首先要在在机箱内找到固态硬盘安装的电源连接线,是从电脑的电源引出的一根线。形状是扁嘴形上面一般印着一个白色的“P4”2、然后要在主板上找固态硬盘的数据接口,用于数据输入输出,俗称SATA接口,再找...
- windows怎么打开注册表(windows怎么打开注册表管理器)
-
方法一、直接打开注册表1、点击屏幕左下角的“开始”按钮,再点击“运行”;2、或者直接按Win键+R键,打开“运行”对话框;3、在“运行”输入框中输入“regedit”命令;4、这样就能够打开注册表编辑...
- windows7安装windows10(windows7安装光盘下载)
-
在安装Win7时,出现提示“Windows无法安装到这个磁盘。这台计算机的硬件可能不支持启动到此磁盘。请确保在计算机的bios菜单中启用了磁盘的控制器。” 解决方法: 1.如果之前你做过BIOS设置,...
-
- 装机配置模拟器(装机配置模拟器教程)
-
装机模拟器2好装机模拟器2装系统方法1.在游戏PC装机模拟器里,有时候我们修理好电脑之后,发现电脑没有安装操作系统,这时候应该先安装系统。2.第一步,点击PC装机模拟器游戏,登录游戏。3.第二步,进入游戏之后,找到需要没有安装操作系统的电脑...
-
2025-11-10 21:51 off999
- 电脑网络正常但是上不了网(网络正常但电脑无法上网)
-
分析如下1、首先检查网卡的问题,打开电脑后,打开电脑右下角的WiFi连接,然后从里面的网络和共享中心检查,打开网络和共享中心后,出现对话框,在对话框左侧上方找到更改适配器设置,单击左键打开,就可以发现...
- vs2008安装包下载(vs2008下载官方下载)
-
vs2008是面向WindowsVista、Office2007、Web2.0的下一代开发工具,VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用V...
- cad2018序列号(cad2018序列码)
-
AutoCAD2018序列号和密钥:序列号:356-72378422,666-69696969,667-98989898,400-45454545,066-66666666等密钥:001J1CA...
- ip检测网站(ip地址测试)
-
IP检测工具(IPNetChecker)V1.5.2是一个简易实用,功能强大的网络监控软件,使您可以检查互联网和局域网上的IP主机的网络状态。IP检测工具(IPNetChecker)V1.5....
- 云电脑app哪个好(手机云电脑app哪个最好)
-
答:以下是一些比较好的云电脑应用程序推荐:1.AnyDesk-支持Windows、MacOS、Linux、Android和iOS,可用于远程访问和控制PC或移动设备。2.Splashtop...
- 怎样注册邮箱163免费(怎样注册邮箱163免费账号)
-
一、工具:电脑(联网)、浏览器二、操作步骤:【1】打开浏览器,找到“163邮箱”,点击。【2】点击右边的“注册”。【3】网站默认注册手机号码邮箱,填写信息,点击“注册”。若不想泄漏手机号码或不想使用手...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
