不成熟的解决方案总结
1. 增加sources root,这样被引用的py中的相对路径(特指在路径前一个点两个点这种情况)就能使用了;
2. 引用其他py,不想使用全路径,可以右键被引用的py 复制他的relative path;原因是想引用其他folder的py,必须从根文件夹上开始层层往下递进;
3. 用路径读文件时,要看看当前的工作目录是哪个,可以不把所有路径写全,只写到当前工作目录的下一级就可以了。
下面是排查细节:
小白的我从GitHub上下载下来的机器学习单独运行某个py会报错如下:
ImportError: attempted relative import with no known parent package
或者是下图
在一番查找资料后,我将linear_regression_pytr.py(此时我要运行它)的folder改为了sources root,方法就是鼠标选到这个folder点右键-->mark direction as -->sources root,我估计此时代码中
from ..utils.features import prepare_for_training
就能用了,不用写绝对路径;
utils这个folder同理,下面这块的代码也能跑了