2010-08-30 12 views
10

Sto lavorando a un'applicazione che ho bisogno di essere multipiattaforma. Mi piacerebbe usare Python per questo, e sono alla ricerca di toolkit GUI che rendono la programmazione dell'interfaccia semplice e facile. Dopo una leggera caccia, ho trovato PythonCard. Sembra che si adatti perfettamente alla bolletta, ma non sono sicuro che sarà possibile compilarlo in un eseguibile appropriato per ogni sistema operativo. Ho trovato le istruzioni these, ma hanno 6 anni.Esistono librerie GUI per Python che consentono di compilare un file EXE (Windows) e APP (Mac)?

Qualunque sia la soluzione che ho scelto deve supportare quanto segue:

  • Scrivi una GUI per lavorare su Windows e Mac OSX
  • dovra 'compilare' in un file facilmente distribuibile sia per Windows/Mac
  • Il file compilato non deve richiedere l'installazione di Python sul computer degli utenti

Qualcuno può consigliare una libreria/soluzione prima di dover entrare nel mondo desolato di Java?

risposta

4

Penso che la risposta qui sia meno sul particolare toolkit GUI e altro sulla distribuzione di applicazioni python stand-alone. Personalmente, ho trovato gli strumenti per questo un po 'meno perfetti di quelli che mi piacerebbe, ma, dopo un po' di finissaggio, ottengono il lavoro. Il candidato più probabile adatto alle tue esigenze è cx_Freeze. Sebbene ci sia uno specifico py2exe per Windows e uno specifico per Mac py2app che potrebbe riempire il conto se cx_Freeze è insufficiente.

+0

Hai provato cx_freeze? Quando abbiamo deciso, quale programma utilizzare, abbiamo affrontato alcuni problemi durante il tentativo di comprimere il binding Python della nostra libreria C++/Qt nel file finale. Forse, non ci abbiamo provato abbastanza, ma Py2Exe era perfetto e semplice :) –

+0

Onestamente, no. Non ho. La manciata di volte che ho avuto bisogno di distribuire un'applicazione standalone python è stata solo su Windows e per questo ho usato py2exe. Sono passati diversi anni e non ho avuto motivo di rivisitare il problema per vedere cosa è cambiato. – Rakis

4

Utilizzare PyInstaller per distribuire un'applicazione utilizzando i toolkit gui PyQt o WxPython. Dal sito web:

PyInstaller è un programma che converte (pacchetti) programmi Python in eseguibili stand-alone, sotto Windows, Linux e Mac OS X.

Per quanto riguarda toolkit GUI, PyInstaller is documented lavorare con Qt3, Qt4 e WxPython.

Contributo StackOverflow dF, uses PyInstaller "per un'applicazione che dipende da PyQt, PyQwt, numpy, scipy e alcuni altri."

0

Hmm.

Forse sarebbe meglio spostare il mio post in commenti, ma. Perché vuoi 'compilare' il codice Python, e perché pensi che qualche framework della GUI dovrebbe fornire alcuni servizi di impacchettamento/installazione?

Nella nostra azienda abbiamo scritto un'applicazione GUI multipiattaforma e, naturalmente, dobbiamo renderlo facilmente disponibile per i clienti. Quindi, abbiamo trovato un framework GUI adatto con collegamenti Python (Qt), quindi abbiamo scelto il metodo per nascondere i dettagli non necessari sulla realizzazione e le dipendenze sparite (Py2Exe per Windows, Py2App per Mac e nulla per Linux, ma puoi provare PyInstaller o cx- congelare).

Installazione per ogni sistema operativo realizzato in tale sistema operativo, in base al principio del minimo stupore. Ecco perché non abbiamo confezionato la versione di Linux in una sorta di eseguibili binari.

0

Se vuoi che la tua applicazione sia originale, allora wxPython è la strada da percorrere. PyQt può sembrare nativo, ma non sembra che si comporti sempre in modo nativo (secondo alcuni thread che ho letto).Per costruire i binari, l'uso py2exe o qualcosa di simile per Windows e per Mac py2app

0

Per wxPython GUI designer check this question. Ho provato il boa-contstructor ma l'ho trovato troppo limitante, non tutti i widget sono supportati. AFAIK nessuno dei designer wxpython supporta tutti i widget (fuori dalla scatola almeno).

Personalmente trovo più veloce e più semplice il codice a mano della GUI. Mi dicono che mi ci sono voluti solo pochi giorni per diventare wxpython ragionevolmente comodo/familiare. Se hai bisogno di fare altro, allora crea una semplice applicazione, poi impiega un po 'di tempo per imparare che wxpython pagherà i suoi dividendi.

Se il limite per l'idea di avere un designer discesa GUI allora la cosa migliore è probabaly PyQt come questo IMHO è l'unico toolkit che ha un editor maturo solido - Qt Designer

Per quanto riguarda la creazione di excutables standalone Ive usato solo py2exe per Windows. py2app fa lo stesso per Mac anche se non l'ho ancora provato.

Per le finestre installatori cassa this thread

+0

Ah .. Se ci fosse qualche forum qui, non SO.com ... Un altro holywar Qt vs WxWidgets (e forse handcode vs visual designer) sarebbe stato avviato :) Ma. –

+0

fortunatamente non è un forum allora perché non era mia intenzione iniziare un holywar !, solo per offrire il mio modesto parere per esperienza personale. – volting

Problemi correlati