【小技巧】以修改模式开发python第三方库

缘由

由于我的代码有一部分到处复制粘贴,维护起来不方便。因此需要把一些python共用地方比较多的代码集中到一个地方,方便其他代码引用,并且方便维护。

在本地开发的时候,需要让库的开发目录以软链接的形式安装到venv/lib里面,目的是为了变更第三方库代码的时候,不需要重新安装而实时生效,毕竟也不见得每次都会记得去重新安装修改代码之后的库。

文档看了一圈,发现有一个方法甚至连软链接都不需要创建就可以实现同样的效果,那就是使用easy-install.pth,这个文件其实也记录着python搜索三方库的路径,python运行的时候会自动去这个文件记载的路径搜索第三方库,并且pip也支持安装这个路径。

参考文档:https://svn.python.org/projects/sandbox/branches/setuptools-0.6/EasyInstall.txt

操作

在Python中,通常使用pip作为包管理器来安装第三方库。如果您想通过pip只安装软链接而不是实际的文件副本,可以使用以下命令:

pip install -e <path_to_package_directory>

pip install -e命令用于在编辑模式下安装软件包,它允许您以可编辑模式安装软件包,从而可以直接编辑其中的源代码并进行调试。其原理就使用了easy-install.pth的作用,其实它就是把包目录写入site-packages下的easy-install.pth文件,再创建一个包名.egg-link的软链接文件而已。

这个特性在开发过程中非常有用,特别是希望对软件包进行修改或自定义时。

相应的包目录其实是一个包定义目录,里面必须包含有setup.py,说明了这个包是如何构建的。

如我的用例:

0.基础能力> pip install -e xflib

安装完成之后,打开site-packages下的easy-install.pth,发现神奇。

以这个文件同级下还有个xflib.egg-link,说明这是一个软链接的三方包。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Scroll to Top