Topic: Compatibilita tra sistemi e versioni  (Letto 577 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline supremo

  • python unicellularis
  • *
  • Post: 29
  • Punti reputazione: 0
    • Mostra profilo
Compatibilita tra sistemi e versioni
« il: Marzo 28, 2017, 15:36 »
ciao  ragazzi devo convertire il mio script.py in script.exe, ho notato che tutti i programmi per fare quest'operazione sono inestabili per esempio con py2exe non mi funzionaba nemmeno con pyinstaller e quindi ho provato con un altro denominato cxxfrezze, all'installazione mi spunta che ci vuole una versione precedente alla mia 3.6 a questo punto mi viene da pensare che dovrei avere tutte le versione di python dal 2.x fino a quella corrente per evitare questo problema, comunqune anche se questo problema fosse risolto mi viene il dubbio se questo file exe funzionera su tutte le versione di windows, mi spiego dopo che creo questo file exe ci posso essere problemi con i sistemi piu vecchi di windows, inoltre ci possono essere problemi con il tipo di archittetura 32bit e 64bit
questo mi preoccupa perche gia molti programmi funzionano solo su 64 bit

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 2.859
  • Punti reputazione: 9
    • Mostra profilo
Re:Compatibilita tra sistemi e versioni
« Risposta #1 il: Marzo 28, 2017, 16:31 »
> inestabili
Non ho la più pallida idea di cosa vuoi dire con "inestabili", perché non è una parola italiana.

>  py2exe
py2exe è un residuo di un'epoca passata e non andrebbe usato

> pyinstaller
questo dovrebbe funzionare almeno fino a python 3.5 (ma penso che anche con python 3.6 non abbia problemi). Naturalmente devi sapere come si fa a installarlo, prerequisiti, etc etc, come si fa a farlo funzionare... insomma, leggere la documentazione.

> cxxfrezze
questo proprio non esiste in questo universo. Esiste però una cosa che si chiama cx_Freeze (non so se noti la differenza di come è scritto), che non conosco bene e non mi è chiaro se funziona anche con 3.5/3.6 (per via delle nuove dll c++ richieste, più che altro).

>  mi viene da pensare che dovrei avere tutte le versione di python dal 2.x fino a quella corrente per evitare questo problema,ù
pensiero sbagliato.

> se questo file exe funzionera su tutte le versione di windows
In linea di principio ovviamente no. Per esempio, windows 3.x, XP, Vista.... non sono più supportati da nessuno. Dopo di che, ovviamente un programma a 64bit non funzionerà su un windows a 32bit. Ma questo vale per tutti i programmi, non solo per i tuoi script pyhton, ovviamente.  Ancora più nello specifico, un tuo "programma" potrebbe non funzionare se a) in windows non è installato il runtime c corretto, e b) il tuo pacchetto di "exe-ficazione" non lo copia da qualche parte. Ma questo problema ovviamente vale anche per il python "normale"... se non trova il runtime c corretto, non funziona. Sulle versioni windows moderne i runtime ci sono tutti, ma ovviamente su quelle più vecchie bisogna installarli a mano (se si può).

> gia molti programmi funzionano solo su 64 bit
eh beh, sì. Siamo nel 2017, non nel 1997. Se hai bisogno di supportare architetture antiche, la cosa migliore probabilmente è sviluppare direttamente su una virtual machine ad-hoc, e pacchettizzare/compilare/exe-ficare/whatever su quella.

Offline supremo

  • python unicellularis
  • *
  • Post: 29
  • Punti reputazione: 0
    • Mostra profilo
Re:Compatibilita tra sistemi e versioni
« Risposta #2 il: Marzo 28, 2017, 17:12 »
ok c'e stato un problema di battitura, anche se sono sicuro che tu l'abbia capito la parola e instabile cioe una cosa con constanti modifiche e privo di stabilita, ok  comunque con pyinstaller ho un file exe per tutti i sisitemi operativi windows superiori a windows 7 e per 64 bit giusto?  a proposito quali sono i prerequisti per quell programma avevi detto che ci vogliono i file dll di c

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 2.859
  • Punti reputazione: 9
    • Mostra profilo
Re:Compatibilita tra sistemi e versioni
« Risposta #3 il: Marzo 29, 2017, 09:40 »
> instabile
AH... ma guarda che "instabile" significa che occasionalmente va in crash: è quello che ti succede? Mah.

> con pyinstaller ho un file exe per tutti i sisitemi operativi windows superiori a windows 7 e per 64 bit giusto?
No, non necessariamente. Ma è ovvio che se hai un computer recente, un windows recente, un python recente e un pyinstaller recente, allora dovresti essere a posto. Se ti sposti verso i confini anche solo di una di queste quattro cose, allora potresti non essere a posto, ovviamente. Ma per i casi specifici devi leggere la documentazione di pyinstaller. La documentazione è sempre la chiave.

>  a proposito quali sono i prerequisti per quell programma avevi detto che ci vogliono i file dll di c
Per far girare python su windows ci vogliono i runtime c++ giusti, ovviamente. Quindi, la stessa cosa vale per un exe generato da pyinstaller. La mia guida (in firma) menziona anche queste cose. Tutto sommato però vale la stessa cosa di prima: i windows recenti hanno tutti i runtime installati (anche quelli necessari per le vecchie versioni di python). Windows più antichi e/o non aggiornati potrebbero non avere i runtime per le versioni più recenti di python. Poi non so se pyinstaller abbia qualche opzione per includere ed eventualmente installare anche i runtime (tra l'altro, ci sono problemi di licenze talvolta). Ma per questo devi leggere la documentazione.