Gibt es eine Möglichkeit, ein Python-Skript auszuführen, das in einer Zip-Datei von bash ist?

Ich weiß, es gibt eine Möglichkeit, Module zu importieren, die in einer Zip-Datei mit Python sind. Ich habe eine Art benutzerdefinierte Python-Paket-Bibliothek in einer Zip-Datei erstellt.

Ich möchte auch mein "Task" -Skript in diesem Paket setzen, das benutzt die Bibliothek. Dann, mit bash, möchte ich das gewünschte Skript in der Zip-Datei anrufen, ohne den Zip zu extrahieren.

  • Python 2.7: kann nicht auf windows "bash: pip: Befehl nicht gefunden"
  • Python vs Bash - In welcher Art von Aufgaben übertrifft jeder den anderen Performance-weise?
  • Effizient entfernen Sie Zeilen aus fileA, die Zeichenfolge aus fileB enthält
  • In bash, "was" gibt einen falschen Pfad - Python-Versionen
  • Zugriff auf die Bash-Umgebungsvariable in Python unter Verwendung des Unterprozesses
  • Bash: Variable in einfachem Zitat
  • Das Ziel ist, nur einen Reißverschluss zu haben, um in einem bestimmten Ordner zu bewegen, wenn ich meine Skripte ausführen möchte.

  • Python dynamische Klassennamen
  • Verwendung von eval in Python?
  • Zugriff auf Wert der Variablen mit dynamischem Namen
  • Dynamisch erstellende Klassen - Python
  • Wie kann man den Argumenttyp in einer dynamisch typisierten Sprache angeben, dh Python?
  • HTML-E-Mail in Python mit variabler Anzahl von Variablen
  • 2 Solutions collect form web for “Gibt es eine Möglichkeit, ein Python-Skript auszuführen, das in einer Zip-Datei von bash ist?”

    Ich habe endlich einen Weg gefunden, dies zu tun. Wenn ich eine Zip-Datei erstellen, muss ich __main__.py an der Wurzel des Zip erstellen. So ist es möglich, das Skript innerhalb des Hauptes zu starten und anzurufen, wenn von bash mit dem folgenden Befehl:

    python myArchive.zip

    Dieser Befehl führt die Datei __main__.py ! 🙂

    Dann kann ich die .command Datei erstellen, um das Skript mit den richtigen Parametern zu starten.

    Sie können auch einen Code in die Datei __main__.py , um Ihnen mehr Flexibilität zu geben, wenn Sie zum Beispiel Argumente übergeben müssen.

    Ex: python __main__.py buildProject

    Die Referenzdokumentation lautet: https://docs.python.org/2/library/runpy.html

    Werfen Sie einen Blick auf zipimport . Es sollte direkt von der Installation funktionieren. Möglicherweise müssen Sie etwas Arbeit machen, um den pythonpath auf Ihre Zip-Datei / Verzeichnis zu stellen.

    Dieses Modul fügt die Möglichkeit hinzu, Python-Module (* .py, * .py [co]) und Pakete aus ZIP-Format-Archiven zu importieren. Es ist in der Regel nicht erforderlich, das Zipimport-Modul explizit zu verwenden; Es wird automatisch von der eingebauten Import-Mechanismus für sys.path Elemente verwendet, die Pfade zu ZIP-Archiven sind. Das sind Pfade zu ZIP-Archiven.

    Python ist die beste Programmiersprache der Welt.