Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur lors de l'ouverture du terminal en utilisant Python sous Linux

Comment résoudre l'erreur lors de l'ouverture du terminal en utilisant Python sous Linux

王林
王林avant
2023-05-02 17:43:321249parcourir

J'obtiens une erreur lors de l'utilisation de python pour ouvrir le terminal sous Linux

Scénario 1 : Exécuter des tâches automatisées sur jenkins, utiliser l'utilisateur jenkins (avec les autorisations sudo) lors de l'exécution de la tâche de test, le script de test est exécuté sous Linux ( arrière-plan), lorsque le code suivant est exécuté Rapport d'erreur :

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

Scénario 2 : Il n'y a aucun problème lorsque le script de test est exécuté localement, en utilisant l'utilisateur root, la fenêtre de commande peut être ouverte normalement

. Journal des erreurs :

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.

Solution :

Du scénario 1 Il peut être comparé au scénario 2 et devrait être causé par des variables environnementales. Pour trouver le problème sous les deux aspects des variables d'environnement et des fenêtres d'affichage, vous pouvez trouver export DISPLAY=":0.0"

Supplémentaire : pycharm fonctionne sans problème, mais le terminal (terminal) s'exécute avec divers problèmes de module

Descriptions des problèmes

Beaucoup Parfois, vous vous habituez à utiliser pycharm et faites tout, mais vous ignorez de nombreux problèmes de chemin. Lorsque vous avez occasionnellement besoin d'interagir avec d'autres environnements et plates-formes, par exemple, écrire un programme C# pour appeler python équivaut à une excuse. Le terminal est démarré en passant des paramètres. À ce moment, divers problèmes d'absence de module seront affichés. La raison en est que lorsque l'environnement externe appelle l'interface python, il doit trouver différents modules dans votre programme, mais si ces modules sont toujours If. il n'est pas ajouté à la variable d'environnement, il ne sera pas trouvé. Par conséquent, il est recommandé d'utiliser l'instruction suivante au début de chaque fichier py utilisé

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
  • Cette opération peut enregistrer l'intégralité du répertoire de niveau supérieur du. fichier actuel Ajoutez-le à la variable d'environnement, afin que vous puissiez facilement appeler tous les fichiers du répertoire de niveau supérieur

  • Si vous avez plusieurs niveaux de répertoire et que le répertoire actuel se trouve dans un emplacement plus profond, vous pouvez légèrement modifier cette commande En bref, incluez simplement tous les fichiers et répertoires que vous souhaitez utiliser, par exemple, vous pouvez utiliser

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')
  • Bien sûr, si vous souhaitez simplement appeler tous les répertoires du dossier actuel, vous pouvez utiliser

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + './')

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer