Esiste un modo standard per assicurarsi che uno script python venga interpretato da python2 e non da python3? Sulla mia distro, posso usare #!/Usr/bin/env python2 come shebang, ma sembra che non tutte le distribuzioni spediscano "python2". Potrei chiamare esplicitamente una versione specifica (ad esempio 2.6) di python, ma ciò escluderebbe le persone che non hanno quella versione.Esiste un modo standard per assicurarsi che uno script python venga interpretato da python2 e non da python3?
Mi sembra che questo sarà sempre più un problema quando le distro inizieranno a mettere python3 come interprete python predefinito.
E, se necessario, come kwatford sottolinea nel suo commento, includere un controllo al momento dell'installazione nello script 'setup.py' del pacchetto o equivalente da' setuptools', 'Distribute',' pip' et al. in genere altera le linee di shebang degli script in modo che puntino all'istanza di installazione di Python. –
IMHO dovrebbe sempre essere disponibile symlink 'python2' per poterlo fare in futuro, [shebang chiaramente distinguibili] (http://unix.stackexchange.com/questions/26573/python-python2-or-python-python3-how- to-package-distribute-python-py2k) –
@Grzegorz: Python PEP 394 è aperto su questo argomento e probabilmente verrà implementato in un futuro aggiornamento a Python 2: http://bugs.python.org/issue12627 –