Ich habe ein Python-Projekt, bei dem eine PYProject.toml -Datei verwendet wird, um ein GUI-Skript zu definieren:
Code: Select all
[project.gui-scripts]
my-script = "my_project.cli:cli_run"
Ich habe eine -Help Option, die eine Hilfe -Nachricht an die Konsole drucken sollte, aber es nicht, da das Skript gestartet wird in einem separaten Prozess. Wenn ich [project.cripts] stattdessen verwende, ist das Problem, dass es an die Konsole gebunden ist, aus der sie aufgerufen wird, was auch nicht wünschenswert ist, da sie, wenn ich die Konsole schließe, auch die GUI schließt. Gibt es also eine Möglichkeit, eine Hilfemeldung auszudrucken, wenn ich angeben kann -help , aber es wird sonst noch von der Konsole ablenken? setuptools und wxpython. Code>: Die Konsole wird immer noch blockiert, bis die GUI geschlossen ist, auch wenn ich nicht () .
Verwenden von os.fork () : Funktioniert nicht unter Windows. .gui-scripts] , unabhängig von der Reihenfolge. < /p>
Code: Select all
my-project
├── pyproject.toml
└── src
└── my_project
└── cli.py
< /code>
pyProject.toml
[build-system]
requires = ["setuptools >= 64"]
build-backend = "setuptools.build_meta"
[project]
name = "my-project"
version = "0.1.0"
dependencies = [
"wxPython~=4.2.2",
]
[project.gui-scripts]
my-project = "my_project.cli:cli_run"
< /code>
cli.py
import sys
import wx
def cli_run() -> None:
if "--help" in sys.argv:
print("Help message")
return
app = wx.App()
frame = wx.Frame(None, title="Hello, World!")
frame.Show()
app.MainLoop()
PIP-Installation ausführen.>