Você não deve se preocupar em sobrescrever o arquivo, o arquivo bin / 2to3 é um script de 5 linhas que difere apenas na primeira linha (a versão binária do python que ele invoca):
$ diff -u bin/2to3 ../2.7.8
--- bin/2to3 2014-06-24 16:39:43.000000000 +0200
+++ ../2.7.8/bin/2to3 2014-07-21 18:45:32.000000000 +0200
@@ -1,4 +1,4 @@
-#! /opt/python/3.4.1/bin/python3.4
+#! /opt/python/2.7.8/bin/python2.7
import sys
from lib2to3.main import main
2to3
é na verdade um link para 2to3-2.7
resp. 2to3-3.4
.
No entanto, eu recomendo não instalar o binário de 2.7.3 (lançado em 2012-04-09) você tem como os módulos para 2to3 incluídos com a versão 3.4.0 estão mais atualizados (lançado em 2014-03-16).
Se você fizer uma instalação separada do (no meu caso) 2.7.8 e 3.4.1, obterá quatro diretórios: bin
, include
, lib
e share
.
- Em
share
são apenas páginas man, com nomes como python3.4.1, de modo que esses nomes não entram em conflito (mesmo se forem no mesmo diretório). - Abaixo de
lib
einclude
são também diferenciações entrepython3.4
resppython2.7
, então não haverá conflitos. - em
bin
, há vários links (2to3
,idle
,pydoc
,python
, etc.) para binários específicos da versão.
Claro que você quer o comando python
(ou 2to3
) você só precisa decidir qual versão deve ser padrão.
O Python tem sido capaz de ser instalado com várias versões major.minor próximas umas das outras por mais de 10 anos, você só precisa decidir qual das versões define os links simbólicos (e, portanto, é a versão invocada com apenas python
)