Wrappen Sie das Python3-Programm als App

0

Ich habe ein Python3 Skript, das ich geschrieben habe; das nutzt tkinter Öffnen eines Fensters, in dem Benutzer aufgefordert werden, eine Verbindung zu freigegebenen Ressourcen herzustellen.

Das funktioniert alles in Ordnung, und ich führe es normalerweise von einem Terminal aus.

Ich möchte dies in eine Folie einwickeln .app Damit wird es in Launcher angezeigt und kann von anderen Personen in meiner Familie verwendet werden, die der Befehlszeile ablehnen.

In der Vergangenheit habe ich eine verwendet Automator Bewerbung mit Run Shell Script Shell auswählen /usr/bin/python, jedoch macOS beinhaltet nicht Python3 Daher habe ich Python 3.6.4 installiert und kann anscheinend keine Möglichkeit finden, eine Python3-Shell auszuführen.

Ich habe versucht, mein normales Shell-Skript zu verwenden.

#! /usr/bin/env python3

from tkinter import *
from tkinter import ttk
import os

Dies erzeugt eine Reihe von Fehlern:

The action “Run Shell Script” encountered an error: “from: can't read /var/mail/tkinter
from: can't read /var/mail/tkinter
-: line 5: import: command not found

Ich habe eine Reihe anderer Optionen ausprobiert, darunter /usr/bin/env python3

The action “Run Shell Script” encountered an error: “env: python3: No such file or directory
from: can't read /var/mail/tkinter
from: can't read /var/mail/tkinter
/Users/ian/bin/connect.py: line 5: import: command not found

und habe endlich damit gearbeitet: -

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /Users/ian/bin/connect.py

Dies ist ziemlich umständlich und erfordert, dass sich das Skript in einer externen Datei befindet.

Ich bin auf der Suche nach einer Lösung, vergleichbar mit dem laufenden Skript python2.

Ich bin mir nicht sicher, ob dies auf dieser Site oder bei Stack Overflow gefragt werden soll.

Milliways
quelle
FWIW Häufige Ursachen von a Shell-Skript in Ordnung arbeiten Terminal aber nicht in a Führen Sie Shell Script aus Aktion im Automator ist ein PATH Problem, weil die Wert von PATH unterscheidet sich normalerweise zwischen den beiden, wenn nicht standardmäßige Programme und Programme von Drittanbietern beteiligt sind. Das PATH übergeben an a Führen Sie Shell Script aus Aktion im Automator ist /usr/bin:/bin:/usr/sbin:/sbin noch in Terminal das PATH Auf meinem System befinden sich weitere Verzeichnisse aus der Installation von Nicht-Standard- und Drittanbieterprogrammen. Die Verwendung der vollständig qualifizierte Pfadnamen kann daher erforderlich sein Automator .
user3439894
Vielleicht möchten Sie " py2app ", um eine Mac-Anwendung zu generieren. Sie können einen Blick darauf werfen Erstellen eigenständiger Mac OS X-Anwendungen mit Python und py2app
Thu Yein Tun