Distutils può creare file __init__.py vuoti?
-
09-06-2019 - |
Domanda
Se tutto il mio __init__.py
sono vuoti, devo memorizzarli nel controllo della versione o c'è un modo per crearli distutils
creare vuoto __init__.py
file durante l'installazione?
Soluzione
C'è una ragione per cui lo vuoi? Evitare mettere vuoto __init__.py
file nel controllo della versione?Se lo fai non sarai in grado di farlo import
i tuoi pacchetti dalla directory sorgente senza prima eseguire distutils.
Se lo vuoi davvero, suppongo che tu possa creare __init__.py
In setup.py
.Deve essere Prima corsa distutils.setup
, COSÌ setup
stesso è in grado di trovare i tuoi pacchetti:
from distutils import setup
import os
for path in [my_package_directories]:
filename = os.path.join(pagh, '__init__.py')
if not os.path.exists(filename):
init = open(filename, 'w')
init.close()
setup(
...
)
Ma...cosa guadagneresti da questo, rispetto ad avere il vuoto __init__.py
file lì in primo luogo?
Altri suggerimenti
In Pitone, __init__.py
i file hanno effettivamente un significato!Significano che la cartella in cui si trovano è un modulo Python.In quanto tali, hanno un ruolo reale nel tuo codice e molto probabilmente dovrebbero essere archiviati in Controllo versione.
Potresti benissimo immaginare una cartella nel tuo albero dei sorgenti che NON sia un modulo Python, ad esempio una cartella contenente solo risorse (ad es.immagini) e nessun codice.Quella cartella non avrebbe bisogno di avere un file __init__.py
archiviarlo.Ora come si fa la differenza tra le cartelle in cui distutils dovrebbe creare quei file e le cartelle in cui non dovrebbe?