最近在用linux跑神经网络模型,由于跑一轮时间比较长,而且网络不稳定Xshell容易断开,所以需要使用nohup运行python文件,但是遇到了问题。
在linux下可以直接使用python test.py运行的文件,使用nohup python test.py就会报错,报的错大致就是Import error: No module named XXX,例如numpy,pandas引入错误。直接复制这个错误,在必应上搜了很久,终于找到一篇相关的帖子,大致意思是说,nohup找到的python路径不对。
那么nohup找的的路径是什么呢?新建了一个python文件,文件内容是这样的:
import sys
print(sys.path)
当使用python test.py运行文件时,输出是:
当使用nohup python test.py时,输出是这个样子的
也就是说,直接运行python命令使用的是python3,但是nohup找到的python路径是python2。这时候就需要指定python版本来运行py文件。
输入which python,得到当前默认使用的python路径:
这时,只要指定python版本来运行nohup文件即可:
也就是:nohup //usr/local/python3/bin/pytho