2015-05-10 11 views
5

Forse questa è più una domanda basata sull'opinione pubblica, ma mi chiedevo se il contenuto di uno virtualenv dovesse essere incluso in un repository GitHub. Perché dovrebbe o non dovrebbe essere incluso?Virtualenv nel controllo sorgente

risposta

8

No, tutto ciò che può essere generato non deve essere incluso.

Le dipendenze devono essere gestite con qualcosa come pip e il file requirements.txt può essere incluso.

Gli unici file sotto il controllo del codice sorgente dovrebbero essere i file di cui hai assolutamente bisogno per farti andare l'ambiente di sviluppo. Quindi può includere una sorta di bootstack di qualche tipo, cioè è possibile creare script per la creazione dell'ambiente virtuale, e quella sarebbe la prima cosa che si esegue una volta clonata.

Considerare anche che il proprio ambiente virtuale contenga file binari. Non vuoi assolutamente quelli nel tuo repository.

Come sottolineato da @JeremyBank di seguito, l'ambiente virtuale può anche essere diverso da sistema a sistema, il che significa che il tuo ambiente virtuale non sarà portatile.

+0

Perché non in questo caso? – David542

+2

@david La directory può includere file generati appositamente per il sistema corrente, che possono avere percorsi hard coded o librerie collegate che non funzioneranno su altri sistemi. Non è pensato per essere portatile. Invece, dovresti includere un modo per specificare le informazioni sulle dipendenze necessarie nel virtualenv, sia come specifiche del pacchetto che come file dei requisiti, perché sono progettate per essere portatili. (Tuttavia, onestamente, se si sta solo utilizzando il controllo del codice sorgente per un progetto su cui si sta lavorando in modo indipendente su un singolo sistema, l'env potrebbe essere conveniente.) –

+0

@JeremyBanks Non ho nemmeno considerato i file specifici del sistema corrente. .. Ma ha senso che un ambiente virtuale per OSX, Linux e Windows sarebbe molto diverso – Leon

Problemi correlati