python-subprocess: gewusst wie: ausführen einer app auf OS X?

Ich bin Portierung einer windows-Anwendung auf OS X 10.6.8. Es ist eine neue Plattform für mich, und ich bin vor einige Schwierigkeiten.

Die Anwendung ist ein kleiner webserver (Flasche+Kellnerin), die beim Start eines Browsers (basierend auf dem chromium embedded framework) durch einen Teilprozess call.

Browser ist eine app-Datei und läuft ok, beim starten von gui.

Bin ich starten Sie es auf diese Weise:

subprocess.Popen([os.getcwd()+"/cef/cefclient.app", '--url=http://127.0.0.1:8100'])

Leider, dies schlägt mit OSError: permission denied.

Habe ich versucht, um das Skript auszuführen mit einem sudo mit ähnlichen Ergebnis.

Kann ich die app starten von der shell mit dem folgenden Befehl:

open -a "cef/cefclient.app" --args --url-http://127.0.0.1:8100

Aber

subprocess.Popen(['open', '-a', os.getcwd()+'/cef/cefclient.app', '--args', '--url-http://127.0.0.1:8100'])

schlägt fehl mit dem folgenden Fehler

FSPathMakeRef(/Users/.../cefclient.app) failed with error -43.

Jede Idee, wie dieses Problem zu beheben?

  • os.getcwd()+'cef/cefclient.app' sieht nicht richtig aus. Für mich getcwd() nicht fügen Sie einen abschließenden Schrägstrich. Haben Sie vielleicht mehr Glück mit os.path.join(os.getcwd(), 'cef/cefclient.app')
  • Sind Sie absolut sicher sein, benötigen Sie -einen nach dem öffnen? Ich glaube, Sie wollen nur, dass, wenn Sie versuchen, sich zu "öffnen" ein Dokument und müssen den Namen der Anwendung, die zu öffnen, sagte, das Dokument mit.
  • Rechts das / fehlt nach getcwd. Trotzdem, der Befehl immer noch nicht
InformationsquelleAutor luc | 2012-10-25
Schreibe einen Kommentar