经常会发现NO Module named xxx问题
路径结构如下:
├── mypath.py
├── network
│ ├── C3D_model.py
现在的问题是 如果在 ./network 目录下执行 python C3D_model.py, 会报NO Module named mypath, 就是找不到mypath包
但是mypath文件明明就在该目录之上的目录上。
解决方案一
最简单的解决方案是在 C3D_model.py文件中加上如下命令
import sys
sys.path.append('../')
这样就找到了上层目录,然后就可以找到mypath包
更详细的解释:
当我们在在 ./network 目录下执行 python C3D_model.py 或者 python ./network/C3D_model.py时候,它自动的将**被执行文件所在目录**加入到sys.path中,如果文件执行完成,则会从sys.path中自动删除该路径。
解决方案二
设置PYTHONPATH变量
export PYTHONPATH等于C3D_model.py所在的目录