Bagaimana untuk menyelesaikan ralat semasa membuka terminal menggunakan python di bawah linux

王林
Lepaskan: 2023-05-02 17:43:32
ke hadapan
1304 orang telah melayarinya

Apabila menggunakan python untuk membuka terminal di bawah Linux, ralat berlaku

Senario 1: Jalankan tugas automatik pada jenkins, gunakan pengguna jenkins (dengan kebenaran sudo) apabila melaksanakan tugas ujian , dan skrip ujian berada dalam linux Execution (latar belakang), ralat berlaku apabila kod berikut dilaksanakan:

os.system(f"/usr/bin/konsole -e {cmd_orin2_10s}")
Salin selepas log masuk

Senario 2: Tiada masalah dengan skrip ujian dilaksanakan secara setempat . Apabila melaksanakan secara setempat, pengguna root digunakan dan tetingkap arahan boleh dibuka seperti biasa

Log ralat:

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.
Salin selepas log masuk

Penyelesaian:

Ia boleh dibandingkan daripada senario 1 dan senario 2, ia sepatutnya disebabkan oleh pembolehubah persekitaran punca. Untuk mencari masalah daripada pembolehubah persekitaran dan tetingkap yang dipaparkan, anda boleh mencari eksport DISPLAY=":0.0"

Tambahan: pycharm berjalan tanpa masalah tetapi terminal (terminal) menjalankan pelbagai modul . Masalah

Perihalan masalah

Banyak kali anda sudah terbiasa menggunakan pycharm dan semuanya telah selesai, tetapi anda mengabaikan banyak masalah laluan Kadangkala, anda perlu berinteraksi dengan persekitaran dan platform lain , jika anda menulis program C# untuk memanggil python, ia bersamaan dengan menghantar parameter ke terminal untuk dimulakan Pada masa ini, pelbagai Tiada masalah modul akan dipaparkan Sebabnya adalah kerana persekitaran luaran memanggil antara muka python untuk mencari setiap modul dalam program anda, tetapi jika modul ini belum ditambahkan pada pembolehubah persekitaran, ia tidak akan ditemui Oleh itu, adalah disyorkan untuk menggunakan pernyataan berikut di hadapan setiap fail py yang digunakan

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
Salin selepas log masuk
  • Operasi ini boleh menambah keseluruhan direktori peringkat atas fail semasa kepada pembolehubah persekitaran, supaya semua fail di bawah direktori peringkat atas boleh dipanggil dengan mudah

  • Jika anda mempunyai banyak peringkat direktori dan direktori semasa berada di lokasi yang dalam, maka anda boleh menukar sedikit arahan ini untuk memasukkan semua fail dan direktori yang anda ingin gunakan, seperti Ya

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')
Salin selepas log masuk
  • Sudah tentu, jika anda hanya mahu memanggil semua direktori di bawah folder semasa, maka anda boleh menggunakan

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + './')
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat semasa membuka terminal menggunakan python di bawah linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!