資訊內容
使用nohup運行python報錯
Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
在linux下可以直接使用python test.py運行的文件,使用nohup python test.py就會報錯,報的錯大致就是Import error: No module named XXX。Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
出現(xiàn)這種情況是因為nohup找到的python路徑不對導致的。Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
那么nohup找的的路徑是什么呢?Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
新建了一個python文件,文件內容是這樣的:Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
import sys print(sys.path)當使用python test.py運行文件時,輸出是:Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
當使用nohup python test.py時,輸出是這個樣子的Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
也就是說,直接運行python命令使用的是python3,但是nohup找到的python路徑是python2。這時候就需要指定python版本來運行py文件。Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
這時,只要指定python版本來運行nohup文件即可:Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
也就是:nohup //usr/local/python3/bin/python3 test.py > log.txt2>&1 &。Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
其中,1代表標準輸出,2代表標準錯誤輸出,2>&1 是將標準錯誤輸出重定向到標準輸出,也就是將標準輸出和標準錯誤輸出都輸出到log.txt文件中,**后的&將程序變?yōu)楹笈_守護進程,這樣運行的程序就不會隨著終端的掛起而停止。Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
更多Python知識請關注Python視頻教程欄目。Dlz少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

- 上一篇
python中l(wèi)ambda的用法
簡介對于一個函數(shù),只有一句話表示,那么就可以用lambda表達式表示,如:def f(x):return x * xprint(f(5))out: 25可以寫為:f = lambda x: x*x #&n
- 下一篇
0基礎學習python哪里入手
簡介0基礎學習Python的入手方向:1、首先你確定學習Python用來做什么方向,爬蟲還是……;2、確定方向后,就按照你喜歡的方式找學習資料;喜歡看視頻,就上網(wǎng)找視頻,喜歡看書,就買本經(jīng)典書籍。3、上網(wǎng)搜教程在電腦搭建Python環(huán)境;4、開始學習Python。更多Python知識,請關注:Pytho