我一直在使用一个通过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(而不是软件开发)相当陌生,所以对于这种类型的设置有没有最佳实践,因为我确信它是相当常见的
您可以在项目开始之前添加
sys.path.append("../libs")
相关问题 更多 >
编程相关推荐