解決linux下使用python打開terminal時報錯的問題
linux下使用python打開terminal時報錯
場景一:在jenkins上執(zhí)行自動化任務(wù),測試任務(wù)執(zhí)行時使用jenkins用戶(有sudo權(quán)限),測試腳本在linux執(zhí)行(后臺),執(zhí)行到以下代碼時報錯:
os.system(f"/usr/bin/konsole -e {cmd_orin2_10s}")場景二:測試腳本在本地執(zhí)行沒有問題,本地執(zhí)行時使用root用戶,可正常打開命令窗口
錯誤日志:
17:44:03 qt.qpa.xcb: could not connect to display 17:44:03 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. 17:44:03 This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. 17:44:03 17:44:03 Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
解決方法:
從場景1和場景2可對比出,應(yīng)該是由環(huán)境變量引起。從環(huán)境變量已經(jīng)顯示窗口這兩方面去查找問題,可找到 export DISPLAY=":0.0"
參考文檔:
補(bǔ)充:pycharm 運(yùn)行沒問題但是 terminal(終端)運(yùn)行卻各種 module 問題
問題描述
很多時候你用 pycharm 用習(xí)慣了,啥都弄好了,但是卻忽略了很多路徑上的問題,偶爾需要和其他環(huán)境、平臺交互的時候,比如寫了一個 C# 程序去調(diào)用 python 的借口,就相當(dāng)于 terminal 傳參數(shù)啟動,這個時候就會顯示各種各樣的 No module 問題 解決辦法 究其原因,是因?yàn)橥獠凯h(huán)境在調(diào)用 python 接口的時候,要去你的程序中找各個 module,但是如果這些 module 還沒有加入到環(huán)境變量中,那么就會找不到,因此推薦用下面的語句放在每個用到的 py 文件的最前頭
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
- 這樣的操作可以將當(dāng)前文件的上一級目錄整個添加到環(huán)境變量中,如此便可以輕松地調(diào)用上一級目錄下面的所有文件啦
- 如果你的目錄層級很多,當(dāng)前的目錄在一個較深的位置,那么你可以將這個命令稍微改一下,總之將你要使用的所有文件和目錄包含進(jìn)去即可,比如可以
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')
- 當(dāng)然如果你只想調(diào)用當(dāng)前文件夾下的所有目錄,那么就可以使用
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + './')
總結(jié)
- 很多時候 terminal 運(yùn)行出現(xiàn) no module 錯誤大概都是因?yàn)楫?dāng)前文件夾沒有加入環(huán)境變量導(dǎo)致的
- 通過上述的命令嘗試一下,將跟路徑盡可能地加入到環(huán)境變量中,即可以隨便調(diào)用了
到此這篇關(guān)于linux下使用python打開terminal時報錯的文章就介紹到這了,更多相關(guān)python打開terminal報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python編寫一個監(jiān)控CPU的應(yīng)用系統(tǒng)
在使用電腦辦公時,有時候不知道哪些軟件或進(jìn)程會占用大量的資源,導(dǎo)致進(jìn)行其他任務(wù)時出現(xiàn)變慢、卡頓等現(xiàn)象。因此,實(shí)時監(jiān)控系統(tǒng)的資源就變得非常重要。本文用Python編寫了一款超治愈的RunCat監(jiān)控應(yīng)用系統(tǒng),需要的可以參考一下2022-06-06
Python學(xué)習(xí)筆記之解析json的方法分析
這篇文章主要介紹了Python解析json的方法,結(jié)合實(shí)例形式分析了常見的Python解析與轉(zhuǎn)換json格式數(shù)據(jù)相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
淺談selenium如何應(yīng)對網(wǎng)頁內(nèi)容需要鼠標(biāo)滾動加載的問題
這篇文章主要介紹了淺談selenium如何應(yīng)對網(wǎng)頁內(nèi)容需要鼠標(biāo)滾動加載的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Windows下實(shí)現(xiàn)pytorch環(huán)境搭建
這篇文章主要介紹了Windows下實(shí)現(xiàn)pytorch環(huán)境搭建,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

