在linux下可以直接使用python test.py运行的文件,使用nohup python test.py就会报错,报的错大致就是Import error: No module named XXX。
出现这种情况是因为nohup找到的python路径不对导致的。
那么nohup找的的路径是什么呢?
新建了一个python文件,文件内容是这样的:
import sys print(sys.path)
当使用python test.py运行文件时,输出是:
当使用nohup python test.py时,输出是这个样子的
也就是说,直接运行python命令使用的是python3,但是nohup找到的python路径是python2。这时候就需要指定python版本来运行py文件。
这时,只要指定python版本来运行nohup文件即可:
也就是:nohup //usr/local/python3/bin/python3 test.py > log.txt2>&1 &。
其中,1代表标准输出,2代表标准错误输出,2>&1 是将标准错误输出重定向到标准输出,也就是将标准输出和标准错误输出都输出到log.txt文件中,最后的&将程序变为后台守护进程,这样运行的程序就不会随着终端的挂起而停止。
更多Python知识请关注Python视频教程栏目。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!