2013-06-24 11 views
5

verwendet wird, wie man cx_freeze in Linux benutzt, um ein einzelnes Paket zu verursachen, das in den Fenstern .exe- oder .bin Datei benutzt wird. Ich habe cx_freeze in Linux getestet, aber das Paket für Linux und in Windows ist unbekannt.wie man cx_freeze in linux verwendet, um ein Paket zu erstellen, das in Windows

zum Beispiel:

$ cxfreeze gui.py 

und dies ist die Datei maked:

gui 

, die nur unter Linux läuft.

Gibt es eine Möglichkeit, cx_freeze zum Erstellen von exe oder bin Paket zu verwenden?

Oder ein alternativer Weg statt cx_freeze, um eine bin-Datei in anderen plattformunabhängig auszuführen?

Ich benutze Python3 (3.x).

+0

Ich habe kürzlich geschrieben ein Werkzeug, [Pynsist] (http: //pynsist.readthedocs.org/de/latest /), die Windows-Installer für Python-Anwendungen von Linux mit ein wenig Sorgfalt erstellen können. –

Antwort

0

cx_freeze sollte funktionieren plattformübergreifende wie auf der Website angegeben:

cx_Freeze Cross-Plattform und sollte auf jeder Plattform arbeiten, die Python selbst auf

arbeitet

(ich habe nicht versucht, in Linux aber) aber Sie können eine einfache Erklärung über here

+2

"cx_Freeze funktioniert auf Windows, Mac und Linux, aber auf jeder Plattform macht es nur eine ausführbare Datei, die auf dieser Plattform läuft", ich möchte jede alternative Möglichkeit, exe-Datei in Linux für andere Plattform zu machen. – alireza

+0

Entschuldigung, ich habe die Frage nicht richtig verstanden, also hier gehts, das sollte dir helfen http://www.pyinstaller.org/ –

+0

Danke, aber Pyinstaller unterstützt py3 nicht! nur py2.x. – alireza

7

Ich habe versucht, cx_freeze richtig arbeiten auf Windows in jeder möglichen Weise aber mit kein Glück ... Ich habe versucht zu tun, was Sie jetzt Ubuntu tun verwenden, aber ich diese gefunden, leider: https://cx_freeze.readthedocs.org/en/latest/faq.html#problems-with-running-frozen-programs

" für andere Plattformen Einfrieren

cx_Freeze funktioniert unter Windows, Mac und Linux, aber Auf jeder Plattform wird nur eine ausführbare Datei erstellt, die auf dieser Plattform ausgeführt wird. Wenn Sie also Ihr Programm für Windows einfrieren wollen, lassen Sie es unter Windows einfrieren; Wenn du es auf Macs ausführen willst, friere es auf einem Mac ein.

Zur Not können Sie versuchen, eine Windows-Programmdatei mit Wine zu erstellen. Unsere Erfahrung ist, dass Sie einige Dateien manuell kopieren müssen, nachdem cx_Freeze ausgeführt wurde, damit die ausführbare Datei funktioniert. Wir empfehlen diese Option nicht. „ Ich denke, die einzige Möglichkeit ist, mit Wein zu tun, es zu versuchen Haben Sie kein Glück hatte

+0

Ich habe Wein und nicht gearbeitet, nur Linux-Version von gui machen. – alireza

+0

Gibt es einen Grund, warum Sie Windows nicht direkt verwenden können, um .exe-Dateien mit cx_freeze aus den Skripten zu generieren? Welche Art von Problemen hatten Sie, als Sie es mit Wein probierten? – LuckyLuc

+1

Danke für die Unterstützung, ich benutze cs_freeze.exe für Windows für meinen Wein und damit die GUI-Linux-Version! Kein Fehler gezeigt, und mit Windows mein Problem ist, dass ich überhaupt keine Fenster benutze! Ich benutze Gnu/Linux (Debian). – alireza

1

Hast du das gesehen Vielleicht Sie Probleme macht:?“ Python unter Windows benötigt das Microsoft Visual C++ Redistributable Package . Python 2,6-3,2 verwendet die Version 2008, und weil, wie diese installiert ist, wird cx_Freeze nicht automatisch kopieren Sie es für Ihre Anwendung.“

http://cx-freeze.readthedocs.org/en/latest/faq.html#microsoft-visual-c-redistributable-package

Wie auch immer, mit diesem Tool (cx_freeze) ist so kompliziert und ineffizient, dass es wahrscheinlich einfacher ist, ein ganzes Programm zu schreiben, als es richtig in ausführbare Windows zu konvertieren Ich hoffe wirklich, dass jemand in Zukunft ein kompakteres und einfacheres Konvertierungswerkzeug für Python 3 schreiben wird

+0

Das Erstellen von ausführbaren Dateien aus Python-Code ist ein nicht-trivialer Job, aber jede Hilfe, die cx_Freeze einfacher oder effizienter macht, ist willkommen. Sie könnten auch an meiner [NSIS-Installer-Vorlage für eine Python-Anwendung] interessiert sein (https://github.com/takluyver/py-niss-template) - sie erstellt keine exe für die Anwendung, aber sie erstellt ein Installationsprogramm einschließlich Python, so dass Sie Ihre Projekte an Personen verteilen können, die unter Windows laufen. –

+0

Ich bin gerade dabei, zu lernen, wie man programmiert, also glaube ich nicht, dass ich jetzt eine wichtige Hilfe sein kann;) – Reloader

+1

Keine Sorge - fühlen Sie sich frei, uns zu helfen, wenn Sie sich besser geübt fühlen. :) –

Verwandte Themen