最近在学习Splatnet的过程中,运行一个案例,发现程序是通过.sh 命令行脚本来进行数据和python代码之间的链接与通讯的,程序在项目中新建了一个叫Splatnet的包,里面有一些Splatnet网络构建设计的python程序,在.sh加载过程中,使用Python编码器调用了Splatnet包中一个文件下的train.py程序,然而在IDE中可以正常调用的这个Python脚本,在命令行里却提示了No model named "Splatnet"。在网上查了好久资料,在确定caffe环境没有错误的的情况下。发现,train.py在运行时候调用了Splatnet下其他几个.py 文件作为支持,然而,在命令行中运行的.py只对该文件所在目录进行检测,结果自然是发现不了其他的支持文件了!
这里,我试了一些网上的方法,比如sys.path.append()等,发现仍然是不能够识别并加载对应的支持,最后用了一个简单粗暴的办法,在项目根目录下创建一个python文件,将.sh 文件中调用的Python程序完整的copy过去,将.sh 文件中的路径改为根目录下的那个新创建的Python文件,之后在终端运行.sh 文件就可以正常的运行相关的程序了~