2010-08-19 17 views
25

C'è un modo per cambiare la directory in cui i file .pyc vengono creati dall'interprete Python? Ho visto due PEP su questo argomento (0304 e 3147), ma nessuno sembra essere implementato nell'interprete di default (sto lavorando con Python 3).Modifica della directory in cui vengono creati i file .pyc

Mi sono perso qualcosa?

+0

Puoi dirci di più sul perché vuoi spostarli? –

+5

Era solo per curiosità, per mantenere pulite le directory. – Scharron

+0

Mi stavo chiedendo la stessa cosa. Ho un caso in cui le directory con i file di origine non sono scrivibili e vogliono riposizionare il pycache in modo che tutti gli utenti possano beneficiare della cache senza avere accesso in scrittura alle directory dei file di origine Python. – mattgately

risposta

19

Non c'è modo di cambiare dove vanno i file .pyc. Python 3.2 implementa lo schema __pycache__ in base al quale tutti i file .pyc vanno in una directory denominata __pycache__. Python 3.2 alpha 1 è ora disponibile se hai davvero bisogno di mantenere pulite le tue directory.

Fino alla release 3.2, configurare quanti più strumenti possibile per ignorare i file .pyc.

+1

La versione 3.2 è fuori servizio! Sìì ! – Scharron

+0

I file .py personalizzati vengono compilati e memorizzati nel file .pyc nella cartella '__pycache__' nella stessa directory. Troverete i file compilati comuni sotto 'C: \ Python34 \ Lib \ __ pycache__'. –

-2

No, non ti è mancato nulla.

I file .pyc vengono sempre creati nella posizione del file `.py.

Esistono alcune patch molto vecchie per disabilitare completamente i file .pyc. Ma ... perché hai bisogno di?

+27

Perché hai bisogno? Perché raddoppiano le dimensioni di qualsiasi elenco di directory che hai con junk che non hai bisogno di vedere. Tengo il mio .o lontano dal mio .cpp's, perché non dovrei tenere il mio .pyc lontano dalle mie .py? –

16

Questo potrebbe essere utile per alcuni: Miscellaneous options

-B Se dato, Python non tenterà di scrivere .pyc o file .pyo sull'importazione di moduli di origine. Vedi anche PYTHONDONTWRITEBYTECODE.

New in version 2.6. 
0

file Python non vengono sempre memorizzati nella stessa directory e avranno diretto verso pycache se si utilizza pycache. Qualsiasi risposta su come essere in grado di avere posizioni e nomi personalizzati, perché l'importazione del modulo è piuttosto capricciosa e non sempre funziona. Potrai vedere cosa intendo in github.com/LolexInc/Lolex-Tools/tree/Beta e visualizzare JTToolsInstaller.py. C'è molto casino in esso.

Problemi correlati