Escribo python
en una ventana de terminal. Me sale Python 2.7 y no Python 3.5. Según los documentos, Python 3.5 debería venir precargado.
Escribo python
en una ventana de terminal. Me sale Python 2.7 y no Python 3.5. Según los documentos, Python 3.5 debería venir precargado.
Respuestas:
No sé qué "documentos" estás leyendo ni qué dicen, pero /usr/bin/python
es solo un enlace simbólico a la versión predeterminada de python, en este caso 2.7, que es el resultado de simplemente escribir python
en el terminal. Este es el resultado de PEP 394 que define que
- Por el momento, todas las distribuciones deben garantizar que se
python
refiere al mismo objetivo quepython2
.
type python
y file /usr/bin/python
confirmará esto.
La razón de esta disposición, aparte de la convención, es que el paquete fuente python-defaults en Xenial es la versión 2.7.11 , por lo que el enlace simbólico de python apunta a esta versión.
Para usar Python 3, debe ser explícito y escribir python3
en la línea de comando, que se recomienda en caso de que necesite una versión específica, esto también se puede hacer con Python 2, escribiendo python2
. Ubuntu incluye versiones de python 2 y 3 de forma predeterminada en todas las versiones actuales.
Hay planes para migrar todo a Python 3 y marcarlo como predeterminado.
Para obtener Python 3.5 REPL o ejecutar un script que sea compatible, escriba python3
. Esto es para mantener la compatibilidad con todo el legado de python 2.x (que siempre ha estado y seguirá vinculado python
).
El guión podría encontrar python
si configura un .desktop
archivo para él (en ~/.local/share/applications/
), para abrir un terminal e iniciar REPL, por ejemplo. No hay un entorno de GUI REPL predeterminado para python, y las expectativas normales de la interfaz son que el usuario vaya al terminal.
Se habla de que Python 3.5 es el predeterminado: los mantenedores portan todos los scripts del sistema desde Python 2.x a Python 3.x, no que Python 3 reemplazaría a Python 2 en todos los casos.
#!/usr/bin/python3
(o #!/usr/bin/python2
) en scripts, mejor usar (solo para python, específicamente) #!/usr/bin/env python3
si desea que sea remotamente portátil. En su mayor parte, esto es solo documentación, ya que en muchos casos se llamará usando de $ python3 your_pyprogram.py
todos modos.
Asume que el Python predeterminado debería estar disponible como python
. Esa suposición está mal.
En un sistema que viene con Python 3 "precargado" y sin Python 2, habrá solo python3
y no python
.
El código escrito para Python 3 siempre debe buscar un intérprete llamado python3
. El código escrito para Python 2 históricamente se buscará python
.
Puede llegar un momento en el tiempo, posiblemente dentro de décadas, en el que casi nadie recuerda Python 2, cuando python
podría comenzar a referirse python3
. ¡Esto sería solo por conveniencia, y puede y no debe hacerse prematuramente, si es que lo hace! No hay prisa, por el siguiente impacto:
Los sistemas "antiguos" actuales no tendrán conocimiento python2
, solo python
, por lo que tiene mucho sentido mantener el código Python 2 en busca python
. Esta es la razón por la cual python
debería referirse a Python 2 para "mientras exista el código Python 2".
El nuevo código escrito para Python 2, si eso tiene sentido, puede buscar perfectamente python
. También podría buscarlo python2
, si está destinado a ejecutarse solo en sistemas conscientes de Python 3 y bien arreglados (que deberían ofrecer dicho enlace).
El beneficio del uso del código Python 2 python2
sería que no necesita un toque adicional una vez que python
comienza a referirse python3
, lo que podría nunca suceder, o una vez que python
desaparezca, lo que podría o no suceder. (Eso podría hacerse realidad si el código de Python 2 se extingue después de que el hipotético Python 4 se vuelva popular con su intérprete python4
. Porque dejar que apunte a uno python3
o python4
ambos sería confuso).
Python, ambas versiones 2.x, 3.x están disponibles. si llama a python porque apunta a python 2.x, cargará python 2.x
La imagen de abajo te ayudará.
python
es usar <tab>
para consultar el autocompletador, que luego genera las posibles permutaciones de python*
y le devuelve a un nuevo indicador.
apt-cache
, especialmente para los principiantes de Ubuntu.
Python 3.x debería funcionar con 16.04 - En realidad, definitivamente FUNCIONARÁ. Tengo Ubuntu 14.04 y tengo Python 3.4.3. Todo lo que tienes que hacer para probarlo es escribir python3
y debería decirte qué versión estás ejecutando.