Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyelesaikan ralat semasa membuka terminal menggunakan python di bawah linux

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

王林
王林ke hadapan
2023-05-02 17:43:321249semak imbas

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}")

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.

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__)) + '/../')
  • 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__)) + '/../../')
  • 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__)) + './')

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam