¿Existe una forma estándar de asegurarse de que python2 y no python3 interpretarán un script de python? En mi distribución, puedo usar #!/Usr/bin/env python2 como shebang, pero parece que no todas las distribuciones envían "python2". Podría llamar explícitamente a una versión específica (por ejemplo, 2.6) de Python, pero eso excluiría a las personas que no tienen esa versión.¿Existe una forma estándar de asegurarse de que python2 y no python3 interpretarán un script de python?
Me parece que esto va a ser un problema cada vez mayor cuando las distribuciones comiencen a poner python3 como el intérprete predeterminado de python.
Y, si es necesario, como señala kwatford en su comentario, incluya un cheque en el momento de la instalación en el script 'setup.py' del paquete o su equivalente, ya que' setuptools', 'Distribute',' pip' et al. generalmente altera las líneas de comando de los scripts para que apunten a la instancia de instalación de Python. –
En mi humilde opinión, siempre debería haber disponible enlace simbólico 'python2' para hacer en el futuro, [shebangs claramente distinguibles] (http://unix.stackexchange.com/questions/26573/python-python2-or-python-python3-how- to-package-distribute-python-py2k) –
@Grzegorz: Python PEP 394 está abierto en ese tema y probablemente se implementará en una futura actualización de Python 2: http://bugs.python.org/issue12627 –