解決linux下使用python打開terminal時(shí)報(bào)錯(cuò)的問題
linux下使用python打開terminal時(shí)報(bào)錯(cuò)
場景一:在jenkins上執(zhí)行自動化任務(wù),測試任務(wù)執(zhí)行時(shí)使用jenkins用戶(有sudo權(quán)限),測試腳本在linux執(zhí)行(后臺),執(zhí)行到以下代碼時(shí)報(bào)錯(cuò):
os.system(f"/usr/bin/konsole -e {cmd_orin2_10s}")
場景二:測試腳本在本地執(zhí)行沒有問題,本地執(zhí)行時(shí)使用root用戶,可正常打開命令窗口
錯(cuò)誤日志:
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 問題
問題描述
很多時(shí)候你用 pycharm 用習(xí)慣了,啥都弄好了,但是卻忽略了很多路徑上的問題,偶爾需要和其他環(huán)境、平臺交互的時(shí)候,比如寫了一個(gè) C# 程序去調(diào)用 python 的借口,就相當(dāng)于 terminal 傳參數(shù)啟動,這個(gè)時(shí)候就會顯示各種各樣的 No module 問題 解決辦法 究其原因,是因?yàn)橥獠凯h(huán)境在調(diào)用 python 接口的時(shí)候,要去你的程序中找各個(gè) module,但是如果這些 module 還沒有加入到環(huán)境變量中,那么就會找不到,因此推薦用下面的語句放在每個(gè)用到的 py 文件的最前頭
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
- 這樣的操作可以將當(dāng)前文件的上一級目錄整個(gè)添加到環(huán)境變量中,如此便可以輕松地調(diào)用上一級目錄下面的所有文件啦
- 如果你的目錄層級很多,當(dāng)前的目錄在一個(gè)較深的位置,那么你可以將這個(gè)命令稍微改一下,總之將你要使用的所有文件和目錄包含進(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é)
- 很多時(shí)候 terminal 運(yùn)行出現(xiàn) no module 錯(cuò)誤大概都是因?yàn)楫?dāng)前文件夾沒有加入環(huán)境變量導(dǎo)致的
- 通過上述的命令嘗試一下,將跟路徑盡可能地加入到環(huán)境變量中,即可以隨便調(diào)用了
到此這篇關(guān)于linux下使用python打開terminal時(shí)報(bào)錯(cuò)的文章就介紹到這了,更多相關(guān)python打開terminal報(bào)錯(cuò)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python教程pandas數(shù)據(jù)分析去重復(fù)值
Pandas指定行進(jìn)行去重更新值,加載數(shù)據(jù)sample抽樣函數(shù),指定需要更新的值append直接添加append函數(shù)用法,根據(jù)某一列key值進(jìn)行去重key唯一2021-09-09python機(jī)器學(xué)習(xí)之神經(jīng)網(wǎng)絡(luò)(二)
這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)之神經(jīng)網(wǎng)絡(luò)第二篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12PYQT5 實(shí)現(xiàn)給listwidget的滾動條添加滾動信號
這篇文章主要介紹了PYQT5 實(shí)現(xiàn)給listwidget的滾動條添加滾動信號,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03python利用dir函數(shù)查看類中所有成員函數(shù)示例代碼
這篇文章主要給大家介紹了關(guān)于python如何利用dir函數(shù)查看類中所有成員函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)下吧。2017-09-09Pytorch之nn.Upsample()和nn.ConvTranspose2d()用法詳解
nn.Upsample和nn.ConvTranspose2d是PyTorch中用于上采樣的兩種主要方法,nn.Upsample通過不同的插值方法(如nearest、bilinear)執(zhí)行上采樣,沒有可學(xué)習(xí)的參數(shù),適合快速簡單的尺寸增加,而nn.ConvTranspose2d通過可學(xué)習(xí)的轉(zhuǎn)置卷積核進(jìn)行上采樣2024-10-10Python讀入mnist二進(jìn)制圖像文件并顯示實(shí)例
這篇文章主要介紹了Python讀入mnist二進(jìn)制圖像文件并顯示實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python?列表套json字典根據(jù)相同的key篩選數(shù)據(jù)
這篇文章主要介紹了python?列表套json字典根據(jù)相同的key篩選數(shù)據(jù),文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容介紹需要的小伙伴可以參考一下2022-04-04