Domanda

sto usando cx_Freeze a congelare il mio programma di pitone. Sulla corsa cx_Freeze, vengono creati un gruppo di file PYD, un intero gruppo di file PYC sono messi in un archivio di nome library.zip e alcuni file DLL sono anche lì.

Qualcuno potrebbe dirmi la differenza tra il file PYD PYC e? Qual è la ragione per i file PYD non nel library.zip? E 'possibile mettere i file PYD nell'archivio così?

Grazie.

È stato utile?

Soluzione

Disclaimer: Non ho usato cx_Freeze in un po '......

file .pyd sono file machine-Code DLL che contengono funzioni specifiche python-richiesta.

I file .pyc sono file .py che sono stati compilati in bytecode.

in modo PYDs sono codice macchina e PYCs sono bytecode

Ora, come per il motivo per cui i PYDs non sono nella .zip .... mi immagino che sia perché quei .PYDs sono necessari per l'interprete Python per eseguire il programma. Che cx_Freeze fa è fondamentalmente questo:

  1. compilare tutti i file .py e lanciare i file .pyc in una zip
  2. inserire tutti i file necessari .pyd nello zip
  3. creare un file di stub .py e metterlo nella directory di output
  4. copiare il python.exe e Rinomina per myprogram.exe
  5. copiare tutti i file necessari per .pyd aprire la zip ed eseguire il contenuto

Quindi non sta effettivamente compilare il file python, si sta invece rinominando l'interpeter e congelare tutti i file di origine.

Spero che questo aiuta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top