Ausgabe
Also habe ich dieses einfache Python-Skript ( main.py
):
import sys
from webdriver_manager.chrome import ChromeDriverManager
import undetected_chromedriver as uc
def do_work():
print(sys.argv)
driver = uc.Chrome(executable_path=ChromeDriverManager().install())
driver.get('http://www.cnn.com')
if __name__ == '__main__':
do_work()
Diese .py
Datei funktioniert also gut und ich konvertiere sie in eine exe
Datei mit pyinstallser
:
pyinstaller --onefile C:\Users\myuser\Desktop\proj\main.py
Und wenn ich versuche, die exe
Datei auszuführen, sieht es so aus, als ob sie am Druck meiner hängen bleibt arguments
und meine nicht gestartet wird browser
.
Dies ist die Eingabe:
C:\Users\raviv>C:\Users\raviv\dist\main.exe bla bla
Und dies ist die Ausgabe (alle letzten Zeilen werden fortgesetzt und es scheint wie eine Sackgasse …):
['C:\\Users\\myuser\\dist\\main.exe', 'bla', 'bla']
['C:\\Users\\myuser\\dist\\main.exe', '--multiprocessing-fork', 'parent_pid=15632', 'pipe_handle=732']
['C:\\Users\\myuser\\dist\\main.exe', '--multiprocessing-fork', 'parent_pid=16956', 'pipe_handle=736']
['C:\\Users\\myuser\\dist\\main.exe', '--multiprocessing-fork', 'parent_pid=7672', 'pipe_handle=736']
['C:\\Users\\myuser\\dist\\main.exe', '--multiprocessing-fork', 'parent_pid=17280', 'pipe_handle=728']
['C:\\Users\\myuser\\dist\\main.exe', '--multiprocessing-fork', 'parent_pid=12048', 'pipe_handle=716']
['C:\\Users\\myuser\\dist\\main.exe', '--multiprocessing-fork', 'parent_pid=18204', 'pipe_handle=728']
Lösung
Sie müssen dem Skript freeze_support hinzufügen, da eines Ihrer importierten Module unter der Haube Multiprocessing verwendet.
Versuche dies:
import sys
from webdriver_manager.chrome import ChromeDriverManager
import undetected_chromedriver as uc
from multiprocessing import freeze_support
freeze_support()
def do_work():
print(sys.argv)
driver = uc.Chrome(executable_path=ChromeDriverManager().install())
driver.get('http://www.cnn.com')
if __name__ == '__main__':
do_work()
Danach sollte es gut funktionieren.
Beantwortet von – Alexander
Antwort geprüft von – Senaida (FixError Volunteer)