Linux下使用nohup运行python脚本报错:Import error: No module named numpy问题解决

      xshell一款很好用的服务器连接工具,上学期间就经常会使用到,最近正好需要操作Linux服务器来进行实验分析,由于网络的不稳定性因素以及其他客观因素较多,想要保证程序的正常执行就需要将其设置为后台运行,而不能直接连接着执行,不然,一旦断网或者其他的因素,程序就白跑了,在设置为后台模式运行的时候,简单的操作命令如下:

nohup python demo.py &

      默认会再代码的同级目录下面生成一个nohup.out文件,用来存放demo.py的输出。

      当然如果想要指定输出到不同的结果文件里面也是可以的,使用下面的命令:

nohup python demo.py >demo.out 2>&1 &

      根据自己的需要修改demo.out 为自己想要的名称即可。

      今天主要的问题是我在执行后台运行命令的时候居然报错了。。。。。。。。

      最初我以为是numpy模块没有安装上,但是转念一想,不使用后台模式运行的时候代码没有报错的啊,感觉很奇怪,就来简单地进行一下验证:

      这下确认 了真的不是模块未安装的问题了,就要好好研究一下为什么会出现这样的问题了。

      一般Linux在安装的时候都会有默认版本的Python被安装上,这里会不会也是这个版本的问题导致的呢?想到这里我果断来进行验证:

      看来问题就是版本的问题了,之前使用alias对python3进行了别名的设置,直接执行脚本的时候是可以的,但是使用nohup的时候,它不清楚到底要使用哪一个版本的python,这个时候最简单的办法就是直接告诉nohup要用哪一个版本的Python解释器来执行代码,我的简单解决方法如下:

nohup python3 demo.py &

      问题成功解决,简单记录一下,希望帮到遇到同样问题的人。

发布了521 篇原创文章 · 获赞 490 · 访问量 323万+

猜你喜欢

转载自blog.csdn.net/Together_CZ/article/details/104022305