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?

È stato utile?

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?

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