2010-09-08 21 views
7

So habe ich ein Python-Skript, das auf ein paar Module beruht. Speziell pexpect und pinoititify. Ich weiß, dass Sie in Windows ein Python-Skript in eine .exe kompilieren können, aber gibt es etwas, das in Linux relativ ähnlich ist? Es ist mir egal, dass es sich um eine Binärdatei handelt. Ich möchte einfach nur mein Skript verteilen können, ohne dass pexpect und pyinotify separat installiert werden müssen. Ist das möglich/sinnvoll?kompilieren Python-Skript in Linux

Antwort

6

cx_Freeze ist eine plattformübergreifende Möglichkeit, ein Python-Skript in eigenständige Binärform einzufrieren. Laut ihrer Website:

cx_Freeze ist eine Sammlung von Skripten und Module für Skripte in ausführbare Dateien in der gleichen Weise Python Einfrieren, das tun Py2exe und py2app. Im Gegensatz zu diese beiden Tools, cx_Freeze ist Kreuz Plattform und sollte auf allen Plattform arbeiten, die Python selbst arbeitet. Es erfordert Python 2.3 oder höher seit es nutzt die Zip-Import Einrichtung, die in dieser Version eingeführt wurde.

1

Im Allgemeinen, wenn die erste Zeile

ist
#!/usr/bin/env python 

und die Datei hat "x" Modus Set (chmod +x yourfile.py)

Dann ist es ausführbar. Kein Kompilieren erforderlich.

Und ja, Leute müssen die Dinge installieren, auf die Sie angewiesen sind. Es ist (a) einfacher und (b) weniger überraschend, wenn sie tatsächlich die Installation durchführen, damit sie wissen, was wirklich vor sich geht.

+2

Die Frage besteht darin, das Skript mit seinen Abhängigkeiten zu verteilen und nicht nur auszuführen. – katrielalex

0

In Linux versuchen Sie, solche Dinge zu vermeiden. Die meisten Paketmanager handhaben Abhängigkeiten ziemlich gut, verteilen Sie einfach Ihr Skript und sagen Sie, welche Abhängigkeiten es benötigt.

+1

Was hat ein Paketmanager mit Python-Modulen zu tun? – Falmarri

+0

Verteilen Sie Ihr Modul als Paket und deklarieren Sie eine Abhängigkeit von den anderen benötigten Modulpaketen. Problem gelöst (wenn auch nicht portabel). – tripleee

Verwandte Themen