我很困惑,我还没有找到一个问题,因为这似乎是一个相当普遍的情况。我可能忽略了它。类似的问题(如this之一)存在,但它们似乎都有不同的目标和约束。
我正在编写将另一个项目用作git子模块的代码。 (简化)情况如下:
.
├── A.py
└── sub
├── B.py
└── C.py
文件内容如下;
import sub.B
print(sub.B.x)
import C
x = C.y * 2
if __name__ == '__main__':
print(x)
y = 7
当我尝试执行A.py
时,它会告诉我:
File "/Users/Joost/poc/sub/B.py", line 1, in <module>
import C
ImportError: No module named 'C'
当然,当我修改B.py
以实际从C
获取sub.C
时,它可以正常工作。但是,由于sub
是来自第三方的子模块,我不能这样做。此外,它会破坏子模块功能。
处理这个问题的正确方法是什么?