Vorrei organizzare il mio codice in uno stile pulito e rendere il mio codice eseguito su altre macchine. Tuttavia, ho riscontrato così tanti ImportError
e FileNotFoundError
che ritengo che il mio stile di codifica fondamentale sia sbagliato.
Mi sono reso conto che dal momento che assumevo che tutti gli script si trovavano nella stessa cartella, sia le importazioni python che le ricerche di file sono vulnerabili al punto di ingresso della directory errato quando provo a migrarle e la copia ripetuta di file in ogni directory / symlink non sembra essere una buona idea dato che sono dipendenti dalla piattaforma o ridondanti.
Qual è il modo pitone per garantire che sia python a.py
che python some/fancy/path/a.py
funzionino esattamente allo stesso modo, come se fossero pubblicati sotto subprocess
? ( subprocess
ha il suo problema dato che altri potrebbero avere un diverso nome binario python.)
Sto cercando un'opzione come scrivere uno script di entry point per impostare l'ambiente ( PYTHONPATH
, os.chdir()
, e probabilmente anche di più). È possibile scrivere un wrapper per impostare correttamente l'ambiente in modo tale da minimizzare le modifiche a tutti i miei file che si presume siano eseguiti esattamente nella stessa cartella e chiamare tutti i metodi in pedici usando lo script di quella entry?
In un altro modo di parlare, posso scrivere qualcosa come uno script make
in modo che gestisca tutti i problemi di migrazione in modo impeccabile, come "collegare" script corretti e impostare gli env corretti?