Questo è il lavoro del gestore pacchetti. Nel caso di Python: pip
.
Se impacchettate la libreria che state costruendo e specificate le sue dipendenze, i vostri utenti (nonno), dovranno semplicemente eseguire:
$ pip install --upgrade <name-of-package>
per ottenere l'ultima versione rilasciata e tutte le sue dipendenze. Se non vuoi pubblicare il tuo codice online, pip
può anche installare da fonti locali:
$ pip install zipped_package_emailed_to_grandpa.zip
oppure, se veramente hai bisogno di comprimere questo in un singolo script (Python 3.4+), puoi chiamare pip
dall'interno:
#!/usr/bin/env python3
def main():
...
if __name__ == '__main__':
import sys, subprocess
dependencies = ['dep_1', 'dep_2']
subprocess.call([sys.executable, '-m', 'pip', 'install'] + dependencies)
import dep_1, dep_2
main()
ma questo è decisamente raro.