Wie mache ich eine ausführbare .py-Datei (für Nicht-Programmierer)?

3

Ich bin auf Ubuntu 16.04 und habe ein Python-Skript für meinen Kollegen erstellt - er hat MacOS . Angenommen, er weiß nichts über Bash oder Python.

Ich möchte ihn also nicht dazu bringen, dieses Skript aus der Bash heraus auszuführen . Ich möchte ihn nur klicken doppelt auf Datei , um das Skript auszuführen.

Wie würdest du das machen?

Hinzufügen:

#!/usr/bin/env python

neben

chmod +x filename 

Funktioniert nicht auf meinem Ubuntu, daher denke ich, dass es unter MacOS nicht funktioniert

Dies ist eine Spitze des Skripts:

#!/usr/bin/env python
# coding=utf-8
import os
try:
    import jinja2
except ImportError:
    import pip
    pip.main(['install','jinja2'])

BEARBEITEN: Ich kann nicht auf seinen Mac zugreifen, daher muss ich ihm entweder klare Anweisungen geben oder eine ausführbare Datei erstellen.

Milano
quelle
Sieht für mich vernünftig aus, warum funktioniert es unter Ubuntu nicht? Es sollte unter macOS funktionieren, vorausgesetzt, die in PATH ausführbare Python-Datei hat die erforderliche Version und alle Bibliotheken sind entweder installiert oder installierbar.
Nohillside
Ich bin mir nicht sicher. Aber selbst wenn ich diese Schritte durchführe, wird die Datei beim Klicken auf file.py in gedit (Texteditor) geöffnet.
Milano
Das ist dann ein Linux-Problem. Solange Ihr Freund seinen Mac nicht so konfiguriert hat, dass er .pyDateien in einem Editor öffnet , sollte alles in Ordnung sein.
Nohillside

Antworten:

3

Sie können die Datei einfach umbenennen und stattdessen zur Dateierweiterung "command" machen. Außerdem müssen Sie es ausführbar machen (wie zuvor bei chmod + x). Nennen Sie es einfach "jinja.command" anstelle von "jinja.py".

Anschließend wird das Terminalfenster mit der Textausgabe (falls in Ihrer Anwendung vorhanden) geöffnet, bis zur Zeichenfolge "Programm beendet".

AlexM
quelle
Hat nicht geholfen, noch in gedit zu öffnen.
Milano
Sie sollten die Erweiterung ".command" verwenden, um Dateien mit Konsolenskripten nur für macOS auszuführen. Die Antwort betraf macOS, weil Sie ursprünglich nach mac gefragt haben. Wenn Sie dasselbe wollen, aber für Ubuntu, sollten Sie einen anderen Ansatz wählen
AlexM
@MilanoSlesarik Als weitere Antwort füge ich ein Mac-spezifisches Tool hinzu. Damit können Sie Ihr Skript für alle Plattformen und die Mac-spezifische Benutzeroberfläche separat einstellen.
bmike
1

Sie möchten ein Tool namens Platypus. Es bietet eine sehr klare Anleitung zum Umwandeln von Skripten in Apps.

Bildbeschreibung hier eingeben

Platypus ist ein Mac OS X-Entwicklertool, das native Mac OS X-Anwendungen aus interpretierten Skripten wie Shell-Skripten oder Perl-, Ruby- und Python-Programmen erstellt. Dazu wird das Skript in ein Anwendungspaket zusammen mit einer ausführbaren nativen Binärdatei eingeschlossen, mit der das Skript ausgeführt wird.

bmike
quelle
Würde dies in einer Verzeichnisbibliothek funktionieren?
02.08.17