Führen Sie Python Script auf jedem Mac-Computer aus

Gibt es eine Möglichkeit, ein ausführbares Python-Skript zu erstellen, das auf jedem Mac über ein Terminal ausgeführt werden kann, ähnlich wie ein Bash-Skript. Ich brauche jeden Benutzer, der einfach auf die Datei doppelklicken kann, und sie sollte ausgeführt werden. Ich möchte, dass es ausgeführt werden kann, ohne dass der Benutzer Python installiert hat, aber es muss ein Python-Skript sein, da es mit einer HTML-Schaltfläche interagieren muss.

Aber im Allgemeinen kommt jeder Mac-Computer mit OS X und hat Python vorinstalliert. Und ist die Anforderung für CLI im Terminal nicht ein bisschen widersprüchlich zu "einfach doppelklicken"? Beides ist jedoch leicht machbar. Aber Sie müssen eine spezifischere Frage stellen.

Antworten (2)

MacOS wird mit installiertem Python 2.7 geliefert (und das seit fast zehn Jahren). Es enthält auch Python 2.6 und 2.5 für die Kompatibilität mit diesen Versionen, die auf noch früheren Betriebssystemversionen waren.

Daher wird jedes mit Python 2.7 kompatible Skript unter MacOS ausgeführt. Wenn Sie die Datei mit der Dateiendung .commandoder speichern .tool, wird sie im Terminal durch einen Doppelklick im Finder gestartet. Sie müssen auch das Ausführungsflag mit setzen chmod, wie in der anderen Antwort beschrieben. (Einige Texteditoren wie BBEdit erledigen dies für Sie, wenn Sie die Datei speichern.)

Stellen Sie sicher, dass Sie #!/usr/bin/pythonals erste Zeile hinzugefügt haben, und Sie können loslegen.

Wie doppelklicken Sie im Terminal? Außerdem denke ich, dass es chmodwichtiger ist, gegen die Datei zu laufen, als .commandhier ein Suffix hinzuzufügen.
Doppelklicken Sie im Finder auf eine .command-Datei, um sie im Terminal auszuführen. Kein Exec-Flag erforderlich.
Ich habe es gerade in Mojave versucht, habe einen Fehler "Die Datei foo.command kann nicht ausgeführt werden, weil Ihnen die erforderlichen Zugriffsrechte fehlen" erhalten. Es funktioniert, sobald ich chmod +xdamit laufe.
Ah. Sie haben Recht. Es hat sicherlich in früheren Betriebssystemversionen funktioniert: Ich denke, es ist eine weitere Verschärfung der Sicherheit. Interessanterweise erzeugt .tool, das die Datei auch Terminal zuordnet, den Fehler nicht und wechselt den Fokus auf Terminal, führt aber auch das Skript nicht aus. Wie nervig.

Sie können PyInstaller verwenden, ein kostenloses Programm, das genau das tut, was Sie wollen. Wie die offizielle Website sagt:

PyInstaller ist ein Programm, das Python-Programme unter Windows, Linux, Mac OS X, FreeBSD, Solaris und AIX in eigenständige ausführbare Dateien einfriert (paketiert). Seine Hauptvorteile gegenüber ähnlichen Tools sind, dass PyInstaller mit Python 2.7 und 3.3–3.5 funktioniert, dank transparenter Komprimierung kleinere ausführbare Dateien erstellt, vollständig plattformübergreifend ist und die Unterstützung des Betriebssystems zum Laden der dynamischen Bibliotheken verwendet, wodurch vollständige Kompatibilität gewährleistet wird.

Ich sollte auch erwähnen, dass Sie eine .py-Datei genau wie andere ausführbare Linux (Unix)-Dateien wie folgt ausführbar machen können:

Dieser Befehl lässt die Datei ausführen (siehe this )

user@linux~>chmod 0755 myProg.py

und führe es dann so aus:

 user@linux~>./myProg.py