引言
上篇文章发出去后,有小伙伴说不知道如何魔改第三方库,说不知道如何操作,本篇文章来分享一下操作步骤。
魔改需求
我们还是以 requests 为例,添加一个名字叫 demo
的请求方式,其实它是 get
请求的别名,以上就是我们要魔改的需求。
克隆代码
首先,我们新建一个文件夹,作为项目的根目录,并且新增一个 demo 文件,用来测试添加的功能是否可以正常执行。
# demo.py
import requests
print(requests.get('https://www.baidu.com').status_code)
print(requests.demo('https://www.baidu.com').status_code)
然后执行以下命令,克隆 requests 的源代码到本地:
❯ 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,执行以下命令。
❯ cd requests
❯ pip install -e .
安装完后,可以看到,src
文件夹的颜色变了,变成了源代码目录了。
魔改功能
这个时候,我们就可以对 requests 进行魔改了,根据需求,增加以下代码:
运行测试代码,发现运行正常,这个时候,可以将魔改后的代码上传到 Github 了,这个应该不用我演示了吧,这个比较简单大家应该查查都会哈。
验证新功能
将代码推送到 Github 后,这个时候可以新建一个虚拟解释器或者卸载原有的 requests,验证以下我们新添加的功能有没有生效。
首先卸载原有的 requests,并且安装我们魔改后的 requests。
❯ pip uninstall requests
❯ pip install git+https://github.com/libra146/requests-demo.git
安装好之后,运行之前的 demo 文件,测试一下我们魔改的 demo 请求是否生效。
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!!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。