Una differenza è che "./script.py" funziona solo se script.py è eseguibile (come in file permessi), ma "python script.py" funziona indipendentemente. Tuttavia, sospetto fortemente che ci siano più differenze e voglio sapere cosa sono.Quando si richiama uno script Python, qual è la differenza tra "./script.py" e "python script.py"
Possiedo un sito Web Django e "python manage.py syncdb" funziona bene, ma "./manage.py syncdb" crea un database interrotto per qualche motivo che rimane un mistero per me. Forse ha a che fare con il fatto che syncdb richiede un nome utente e una password di superuser dalla riga di comando, e forse usando "./manage.py syncdb" cambia il modo in cui interagisce con la riga di comando, maneggiando così la password. Può essere? Sono solo sconcertato da questo bug. "python manage.py syncdb" lo risolve completamente, quindi questa è solo curiosità.
Grazie.
Modifica: Giusto, giusto, ho dimenticato la necessità della linea shebang #!/Usr/bin/python. Ma ho appena controllato, "python manage.py syncdb" e "./manage.py syncdb" stanno usando lo stesso interprete Python (2.7.2, l'unico installato, su Linux Mint 12). Eppure il primo funziona e il secondo no.
Le variabili di ambiente viste dal codice Python potrebbero essere diverse? Il mio codice richiede $ LD_LOADER_PATH e $ PYTHON_PATH per essere impostato speciale per ogni shell.