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

王林
Libérer: 2023-05-02 17:43:32
avant
1304 Les gens l'ont consulté

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}")
Copier après la connexion

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.
Copier après la connexion

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__)) + '/../')
Copier après la connexion
  • 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__)) + '/../../')
Copier après la connexion
  • 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__)) + './')
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!