J'ai deux scripts Python qui doivent s'exécuter simultanément car ils interagissent entre eux. Un script est un script 'serveur' s'exécutant localement et l'autre est un script client qui s'y connecte via un socket. Normalement, je viens d'ouvrir quelques onglets de terminal et d'exécuter le script du serveur dans l'un et le client dans l'autre. Après le démarrage et l'arrêt encore et chaque script, je voulais faire un alias bash pour exécuter les scripts avec une seule commande et est venu avec ceci:Erreur SQLite lors du chargement simultané de deux scripts python
gnome-terminal --tab -e "python server.py" --tab -e "python client.py"
Cependant, maintenant le script serveur soulève une OperationalError sqlite disant qu'une de mes tables de données n'existe pas. Mais quand je cours les manuscrits manuellement tout fonctionne bien. Je n'ai aucune idée de ce qui se passe, mais j'ai pensé que le fait d'exécuter les scripts ensemble ne donnait pas assez de temps au script serveur pour s'initialiser et établir sa connexion à la base de données. Donc, je mets un time.sleep (5) dans le script client, mais dès qu'il commence, j'obtiens la même erreur.
Quelqu'un a une idée de ce qui pourrait se passer? Ou est-ce que quelqu'un connaît des alternatives pour démarrer deux scripts Python avec une commande?
Vous voulez 'dormir 5', pas' time 5' dans bash. De plus, vous ne voulez pas envoyer ce sommeil en arrière-plan. Donc: 'python server.py & sleep 5; python client.py' – eumiro
@eumiro: Oups, merci. – unutbu
Je ne comprends pas pourquoi, mais votre solution fonctionne parfaitement! Que font les options -x et -c? Je ne les vois pas dans la page de manuel. – pythonBOI