使用nohup執行python檔案報錯:Import error: No module named XXX等
最近在用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/python3 test.py > log.txt2>&1 &。
其中,1代表標準輸出,2代表標準錯誤輸出,2>&1 是將標準錯誤輸出重定向到標準輸出,也就是將標準輸出和標準錯誤輸出都輸出到log.txt檔案中,最後的&將程式變為後臺守護程序,這樣執行的程式就不會隨著終端的掛起而停止。
要看當前程序可以使用ps –a檢視程序,kill +程序號停止某個程序。這裡nohup執行程式之後就會出現python3的程序,但是終端退出後再次連線,ps –a就無法顯示該程序。這時可以使用top命令檢視所有程序。top命令可以按CPU使用,記憶體使用和執行時間對任務進行排序顯示。
Mark一下,畢竟因為這個浪費了挺多時間和精力~
相關推薦
使用nohup執行python檔案報錯:Import error: No module named XXX等
最近在用linux跑神經網路模型,由於跑一輪時間比較長,而且網路不穩定Xshell容易斷開,所以需要使用nohup執行python檔案,但是遇到了問題。在linux下可以直接使用python test.py執行的檔案,使用nohup python test.py就會報錯,報的
mac下使用pycharm執行python程式報錯:OSError:[Error 13] Permission denied:
發現自己工程目錄下的external Libraries下面這些庫都是鎖的狀態,所以懷疑是許可權的問題,嘗試解決如下:通過chown -R ‘username’ 'pathname'命令修改資料夾所屬使用者:修改完再檢視pycharm下的External Libraries目
python安裝docx模組出現Import Error: No module named 'exceptions'的解決方案
最近想使用python+word來做文件的提取,於是想用docx三方庫,我用的是python 3.6,開發環境為Anaconda3,於是通過Anaconda 的Anaconda Prompt命令視窗安裝docx,輸入一下指令:pip install docx命令視窗
mac終端下執行java檔案報錯:找不到或無法載入主類
由面試題出來的 為了顯示 myStr = 23 這樣的結果,寫出在控制檯輸入的命令 public class MyClass { public static void main(String args[]) { String s1 = args[0]; String s2 = args[
Linux命令列執行.py指令碼報錯:import 未找到命令
在linux中直接通過vi編輯器寫了一個python指令碼檔案(裡面import了一些庫),然後在命令列中執行時報錯,說import未找到命令(其實就是找不到那些庫檔案),出現這個問題的原因是因為:在python指令碼檔案中沒有指定安裝python程式時的python路徑。解
瀏覽器訪問IIS伺服器上面的plist檔案報錯:HTTP Error 404.3
報錯:HTTP Error 404.3 - Not FoundThe page you are requesting cannot be served because of the extension configuration. If the page is a scrip
centos上解壓檔案報錯:tar: Error is not recoverable: exiting now
例如解壓檔案命令為: tar -zxvf hadoop-2.6.2.tar.gz 解壓時錯誤資訊為: gzip: stdin: unexpected end of file tar: Unexpec
SFTP 上傳檔案報錯:SFTP ERROR?Algorithm negotiation fail
專案過程中曾經遇到這樣一個錯誤:SFTP ERROR?Algorithm negotiation fail。java程式碼利用SFTP上傳客戶伺服器報錯,但是可以在Linux上上傳成功,嘗試過很多解決
如何解決在Python中使用Win32api報錯的問題 ModuleNotFoundError: No module named 'win32api'
如何解決在Python中使用Win32api報錯的問題 ModuleNotFoundError: No module named 'win32api' 解決方法 pip install pypiwin32或pip3 install pypiwin32 或 python -
spyder中Import Error: no module named 'past'解決方法
spyder下執行一個專案,程式碼沒錯,但是報了Import Error: no module named 'past'的錯誤。我是安裝了anaconda/tensorflow/keras一套的環境;python3.5。 遇到這個錯誤查到了好的解決方案。記錄一下。 錯誤: 解決方案,在
Windows下執行python指令碼報錯“ImportError: No Module named ...”的解決方法
之前遇到一個問題,在Pycharm或IPython之類的IDE上執行指令碼正常,但是直接執行或cmd命令列執行的時候報了模組未能找到的 誤——ImportError: No Module named ...。 這是啥情況? Python在啟動直譯器(Interpreter)的時候
python多執行緒操作報錯:No handlers could be found for logger "websocket"
用python模擬對講機線上工具,在伺服器上成功連線的連線上限是1020個,需要確定遇到這個瓶頸的原因 1.連線失敗時的報錯資訊為 No handlers could be found for logger "websocket" 解決方法: import logging
當pycharm環境下已經有HTMLTestRunner.py檔案時,執行程式仍然報錯:No module name HTMLTestRunner
若遇到如上報錯,可以用以下方法解決首先檢視工程的路徑進入setting-project Interpreter檢查pycharm setting裡面路徑是否正確,看路徑是否為當前虛擬環境venv的路徑,下圖路徑不正確(圖一不正確)圖一當檢查發現路徑不正確的時候,將整個venv
WebStorm執行Node.js檔案報錯:runnerw.exe: CreateProcess failed with error 2
點選工具欄的 Run —> Edit Configurations… 可以看到我這裡是 Node interpreter 的路徑錯了 選擇一個正確的路徑即可 注意:也有可能是另一
用記事本編寫第一個Java程式執行時 出現報錯:錯誤: 類helloworld是公共的, 應在名為 helloworld.java 的檔案中宣告 public class helloworld {
在書本上盲人摸象的摸索學習Java,Java環境配置完成,安裝好eclipse後,便興沖沖的去在記事本上編寫第一個Java程式,結果給破了一盆冷水,略懵 public class helloworld {public static void main(St
python 向linux vsftpd伺服器傳檔案報錯:ftplib.error_perm: 550 Permission denied
使用ftp模組向vsftpd伺服器上傳檔案報550錯誤的,程式碼如ftprun.py所示,vsftpd伺服器執行在ubuntu16.04。 解決方法解: 修改配置檔案:sudo gedit /etc/vsftpd.conf 去掉“write_enable=YES”前面
python mysqldb 報錯: ProgrammingError: must be real number, not str 解決
動作 value mysq pan class price error: img book 代碼: sql = ‘insert into book(book_name,book_desc,origin_price,publish_id,tag_id,book_img) v
R中執行if else報錯:unexpected 'else' in "else"
cte () str nbsp 括號 strong 不能 expected lse 註意if else的結構寫法,有以下三種,除此之外,會不識別else。 結構 1 : if() xx else yy # 一行;結構 2: if(
MySql數據庫執行insert時候報錯:Column count doesn't match value count at row 1
doesn 發現 相同 ins bsp cti sql數據庫 當前 val 遇到這個問題之後,第一反應就是前後列數不等造成的,但是我檢查SQL之後,發現列數是相同得,但是插入還是有問題,然後又寫了簡單得SQL只插入不為空得字段,執行還是報這個錯,最後請教了高人,指點之後,大
Python指令碼報錯:AttributeError:'model' object has no attribute 'XXX'解決方法
錯誤舉例: 錯位原因定位: 檢視import庫的原始檔,發現原始檔存在且沒有錯誤,同時存在原始檔的.pyc檔案 解決方法: 1、命名py指令碼時,不要與python預留字,模組名等相同 例如:模組是ssl,請不要命名ssl.py檔案,因為程式碼執行時會對應生成.pyc檔案。