2 Programme gleichzeitig ausführen lassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Hallo,
ist es möglich, 2 Python Skripte gleichzeitg ausführen zu lassen?

Also, ich weiß, dass man beide öffnen kann und dann bei beiden auf "run" drücken kann, aber gibt es eine Möglichkeit, dass über ein Python File zu regeln?

Also sowas wie

Code: Alles auswählen

import File1
import FIle2
Nur eben gleichzeitig, sodass man nicht warten muss bis ein Programm fertig ist

Danke schonmal im Vorraus
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

grundsätzlich: ja. ZB. mittels des multiprocessing oder concurrent.futures (und dann multiprocessing) Moduls. Wenn du Nebenläufigkeit brauchst, also "fast gleichzeitige" Ausführung gibt's noch mehr Möglichkeiten.

Was hast du denn genau vor

Gruß, noisefloor
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Hallo,
ich möchte 2 verschiedene Discord Bots gleichzeitig hier laufen lassen, wäre eben schön wenn man beide gleichzeitig starten könnte!
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

müssen die Bots miteinander kommunizieren oder sonst irgendwie interagieren? Ansonsten kannst du die doch einfach nacheinander starten (z.B. über je eine systemd Service Unit, falls du Linux als OS benutzt) und dann laufen die parallel.

Gruß, noisefloor
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Nein, die laufen einzeln.
Es war mir schon klar dass das so ganz einfach geht, mich hätte nur interessiert ob es möglich wäre beide über eine Datei/einen Befehl zu starten ;)
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
addi
User
Beiträge: 28
Registriert: Donnerstag 29. März 2018, 22:54

Mit subprocess könntest du es zb. machen.

Also sowas wie:

Code: Alles auswählen

import subprocess

subprocess.call([ 'python', 'file1.py'])
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

dieser Code würde dann im File2.py stehen oder wie wird das dann aufgerufen?
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
addi hat geschrieben: Freitag 10. August 2018, 11:28 Mit subprocess könntest du es zb. machen.

Also sowas wie:

Code: Alles auswählen

import subprocess

subprocess.call([ 'python', 'file1.py'])
Eine Python-Datei über eine andere mittels `subproces` starten ist in 99,999999999% der Fällen so ziemlich der falscheste Weg, den man wählen kann. Wenn importiert man alles aus `file1.py` und führt es dann entsprechend aus.
Phobit hat geschrieben: Freitag 10. August 2018, 10:53 Nein, die laufen einzeln.
Es war mir schon klar dass das so ganz einfach geht, mich hätte nur interessiert ob es möglich wäre beide über eine Datei/einen Befehl zu starten ;)
Ja, unter Linux einfach ohne Python über eine systemd Service Unit. Äquivalente Weg gibt's sicherlich auch unter MacOS und Windows.

Gruß, noisefloor
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Danke, von systemd hab ich jetzt schon mehr gehört, werde mich jetzt mal damit auseinandersetzen...
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
addi
User
Beiträge: 28
Registriert: Donnerstag 29. März 2018, 22:54

@noisefloor

Okay, gut dann weiß ich es für die Zukunft besser.

Kurzes OT: Was ist eigentlich mit pip, das kann man doch ohne Bedenken mit subprocess aufrufen oder?
Antworten