我继承了一个项目,该项目在一个包中包含代码,该包的导入假定该包中的代码位于根目录中。
例如,给定此目录结构
my_project
mod_1
mod_2
- folder1
mod_3
mod_4
- folder2
mod_5
mod_5 would have an import like:
import mod_3
import mod_4
当我试图运行这段代码时,我得到一个错误,mod_1找不到。
如果我将导入更改为此,一切似乎都正常
import folder1.mod_3
import folder1.mod_4
然而,这并不是一个可行的解决方案,因为这是一个长期运行的开源项目的一部分,显然这不是原始作者的意图,也显然是在没有上述修改的情况下为其他人工作的东西。
我如何创建一个虚拟环境,将文件夹_1直接添加到路径中,这样文件夹_1中的模块就可以被引用为根文件夹中的模块?