Observé este mensaje de error en Windows 10 1903 ejecutando WSL Ubuntu cuando quería actualizar de 16.04 LTS a 18.04 LTS .
Después de do-release-upgrade
haber fallado, cambié las python
alternativas a cada opción ofrecida por update-alternatives --config python
y ejecuté el comando de actualización nuevamente. Eso no ayudó.
Luego revisé el archivo de registro /var/log/dist-upgrade/main.log
que contenía las líneas
2019-09-02 20:58:08,686 DEBUG _pythonSymlinkCheck run
2019-09-02 20:58:08,687 DEBUG python symlink points to: '/etc/alternatives/python', but expected is 'python2.7' or
'/usr/bin/python2.7'
2019-09-02 20:58:08,688 ERROR pythonSymlinkCheck() failed, aborting
Entonces, aunque el mensaje de error menciona python3 , el problema es sobre python2 .
El script de actualización verifica la /usr/bin/python
vinculación a /usr/bin/python2
, vea el código fuente de DistUpgrade/DistUpgradeController.py
aquí: ubuntu launchpad
Entonces, una solución es eliminar completamente Python del sistema alternativo y agregar el enlace manualmente, como se describe en la respuesta más popular.
Si no desea eliminar Python del sistema alternativo, simplemente cambie el enlace solo por el tiempo durante el proceso de actualización:
# rm /usr/bin/python
# ln -sf /usr/bin/python2.7 /usr/bin/python
# do-release-upgrade
Esto funcionó para mí.
Durante el proceso de actualización, el enlace se repara automáticamente. Entonces, cuando finaliza la actualización, apunta a la entrada de Python en el directorio de alternativas:
$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 24 Sep 2 22:01 /usr/bin/python -> /etc/alternatives/python
Editar: para obtener información detallada, el problema también puede aparecer si actualiza de 18.04 LTS a 19.04 y la respuesta también se aplica a esta situación.