Czy istnieje standardowy sposób, aby upewnić się, że skrypt Pythona będzie interpretowany przez python2, a nie python3? W mojej dystrybucji mogę używać #!/Usr/bin/env python2 jako shebang, ale wydaje się, że nie wszystkie dystrybucje wysyłają "python2". Mogłem jawnie wywołać konkretną wersję (np. 2.6) Pythona, ale to wykluczałoby ludzi, którzy nie mają tej wersji.Czy istnieje standardowy sposób, aby upewnić się, że skrypt Pythona będzie interpretowany przez python2, a nie python3?
Wydaje mi się, że będzie to coraz większym problemem, gdy dystrybutor rozpocznie używanie python3 jako domyślnego interpretera pythonów.
I, jeśli to konieczne, jak zaznacza kwatford w swoim komentarzu, dołącz czek w czasie instalacji w pakiecie 'setup.py' lub jego odpowiednik od' setuptools', 'Distribute',' pip' et al. na ogół zmieniają linie skryptów, aby wskazywały na instalację instancji Pythona. –
IMHO tam zawsze powinno być dostępne dowiązanie symboliczne "python2", aby w przyszłości móc [łatwo odróżnić shebangi] (http://unix.stackexchange.com/questions/26573/python-python2-or-python-python3-how- to-package-distribute-python-py2k) –
@Grzegorz: Python PEP 394 jest otwarty na ten temat i prawdopodobnie zostanie zaimplementowany w przyszłej aktualizacji do Python 2: http://bugs.python.org/issue12627 –