开发者必备:一步步教你魔改第三方库,满足独特需求

引言

上篇文章发出去后,有小伙伴说不知道如何魔改第三方库,说不知道如何操作,本篇文章来分享一下操作步骤。

魔改需求

我们还是以 requests 为例,添加一个名字叫 demo 的请求方式,其实它是 get 请求的别名,以上就是我们要魔改的需求。

克隆代码

首先,我们新建一个文件夹,作为项目的根目录,并且新增一个 demo 文件,用来测试添加的功能是否可以正常执行。

1
2
3
4
5
# demo.py
import requests

print(requests.get('https://www.baidu.com').status_code)
print(requests.demo('https://www.baidu.com').status_code)

然后执行以下命令,克隆 requests 的源代码到本地:

1
2
3
4
5
6
7
8
9
10
11
ls
demo.py

❯ git clone --depth=1 https://github.com/psf/requests.git
Cloning into 'requests'...
remote: Enumerating objects: 154, done.
remote: Counting objects: 100% (154/154), done.
remote: Compressing objects: 100% (138/138), done.
remote: Total 154 (delta 7), reused 77 (delta 6), pack-reused 0 (from 0)
Receiving objects: 100% (154/154), 3.36 MiB | 4.04 MiB/s, done.
Resolving deltas: 100% (7/7), done.

注意这里的 --depth=1 参数,是为了加快克隆速度,意思就是只克隆一个分支,不克隆完整的 commit,从而加快克隆速度。

安装 requests

克隆完后,安装 requests,执行以下命令。

1
2
3
cd requests      

❯ pip install -e .

安装完后,可以看到,src 文件夹的颜色变了,变成了源代码目录了。

image-20241224205258829

魔改功能

这个时候,我们就可以对 requests 进行魔改了,根据需求,增加以下代码:

image-20241224205413787

运行测试代码,发现运行正常,这个时候,可以将魔改后的代码上传到 Github 了,这个应该不用我演示了吧,这个比较简单大家应该查查都会哈。

验证新功能

将代码推送到 Github 后,这个时候可以新建一个虚拟解释器或者卸载原有的 requests,验证以下我们新添加的功能有没有生效。

首先卸载原有的 requests,并且安装我们魔改后的 requests。

1
2
❯ pip uninstall requests 
❯ pip install git+https://github.com/libra146/requests-demo.git

安装好之后,运行之前的 demo 文件,测试一下我们魔改的 demo 请求是否生效。

1
2
3
4
import requests

print(requests.get('https://www.baidu.com').status_code)
print(requests.demo('https://www.baidu.com').status_code)

运行以上代码,可以看到,demo 请求已经可以正常使用,说明我们魔改的功能已经生效,后续如果在项目中用到魔改后的 requests,可以直接使用 pip install git+https://github.com/libra146/requests-demo.git 来安装即可。

总结

如果你使用的是内部库,可以将 Github 换成内网的 gitlab 或者其他版本管理软件,重复一遍,不要将内部库上传到 Github!!!

本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
更多文章请关注:qrcode
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
本文链接
https://blog.d77.xyz/archives/185fe2a2.html