PEP 394 especifica como o Python deve ser instalado e o que usar em linhas shebang. Use #!/usr/bin/env python2
para scripts do Python 2 e #!/usr/bin/env python3
para scripts do Python 3 (e #!/usr/bin/env python
se seus scripts forem compatíveis com ambos).
Na prática, as pessoas têm usado #!/usr/bin/env python
em shebang lines há anos, então se você encontrar um script que peça python
, é provável que seja um script do Python 2.
Como o Python 2 e o Python 3 não são compatíveis, as duas versões coexistirão por um longo tempo. São duas linguagens diferentes que, por acaso, são semelhantes, mas não a ponto de serem compatíveis para a maioria dos programas. A maioria dos sistemas tem mantido python
como Python 2 por enquanto, mas o Arch Linux trocou python
para Python 3; essa inconsistência é o motivo pelo qual o PEP 394 recomenda usar uma versão explícita no shebang. Infelizmente, como a vida não é simples, alguns sistemas mais antigos ainda podem não ter python2
(o wheezy do Debian só o adquiriu in extremis).
Observe que, embora “o Python 2.x seja legado, o Python 3.x seja o presente e o futuro da linguagem” do ponto de vista dos designers de linguagem, há um enorme corpo de código do Python 2 por aí. Do ponto de vista de alguém que usa bibliotecas de terceiros (cuja abundância é uma das vantagens do Python), o presente é o Python 2.
Quanto a python-wrapper
, é um wrapper para selecionar entre implementações em Python . É o invólucro de ontem; O wrapper de hoje é python-exec
. Eu não sei o que eles fazem.