从源代码运行python项目时,如何避免与已安装的包冲突

2024-04-19 21:14:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在使用一个通过pip安装的开源软件包,并在Jupyter笔记本IPython环境中运行

我需要修改包的源代码,所以我在本地克隆了repo并进行了更改,并导入了本地包,而不是安装的包,没有问题

我遇到的问题是,在项目源代码内部,它导入了自己的包,该包导入的是已安装的包而不是源项目,并且在少数情况下会导致代码冲突

假设包名为PackageA,最初通过pip install PackageA安装。我现在在我的项目目录下的libs/目录中有了Package A的源代码projectDir/libs/PackageA。我通过from libs.PackageA import PackageA as pa导入项目,但是在源代码中(几乎在每个文件中)它都有import PackageA as pa

我可以遍历源代码,用from .. import PackageA as pa更改import PackageA as pa的每个实例,但这种情况可能发生在100多个文件中,因为有些文件有多个导入语句,而且非常不整洁,因为有些文件位于需要from .... import PackageA as pa的子目录中

是否有办法将导入重定向到使用本地版本而不是安装的版本(我已经卸载了pip安装的版本)

我对python(而不是软件开发)相当陌生,所以对于这种类型的设置有没有最佳实践,因为我确信它是相当常见的


Tags: pip文件项目fromimport版本目录源代码