
Estoy usando una instalación de Linux bastante antigua, el sistema Python no incluye Python 3.7. Sin embargo, instalé Python 3.7, como se puede ver en el siguiente resultado de terminal, pero me gustaría indicarle al instalador del paquete que acceda a él cuando intente ejecutar una instalación:
cardamom@jupiter ~ $ python --version
Python 2.7.12
cardamom@jupiter ~ $ python3.7 --version
Python 3.7.7
cardamom@jupiter ~ $ sudo apt install -y dangerzone
[sudo] Passwort für cardamom:
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
dangerzone : Hängt ab von: python3:any (>= 3.7~)
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.
cardamom@jupiter ~ $
¿Es posible hacer eso?
Respuesta1
Como no indicaste qué distribución de Linux basada en apt estás usando, supongo que es Debian. Esto debería aplicarse a las distribuciones derivadas, siempre que equivs
exista el paquete siguiente.
Realmente deberías actualizar tu sistema a una versión reciente/compatible, porque empezarás a tener más y más problemas de dependencia.
De todos modos, para satisfacer su problema de dependencia, puede intentar utilizar el paqueteequivs
:
[...]
Otro uso es eludir la verificación de dependencias: al permitir que dpkg piense que un nombre y una versión de paquete en particular están instalados cuando no es así, puede solucionar errores en las dependencias de otros paquetes. (Sin embargo, aún presente dichos errores).
Se supone que debes crear un archivo de control con equivs-control
:
equivs-control python3
edite el archivo creado python3
, para su caso puede agregar o cambiar las líneas relevantes a:
Package: python3
Version: 3.7.7
Architecture: all
(y cualquier otro campo que considere útil, como Description
)
Luego ejecute equivs-build python3
para crear un paquete vacío (en este caso) llamado python3_3.7.7_all.deb
que luego podrá instalar usando dpkg -i python3_3.7.7_all.deb
.
Esto satisfará las dependencias, pero no garantiza que obtendrá un resultado funcional: depende de lo que realmente proporcione con su propia instalación de Python. Lo mínimo que puedes hacer es asegurarte, si aún no está presente, de que también haya un enlace simbólico llamado python3
. Es posible que tenga que estar presente en /usr/bin/
lugar de solo /usr/local/bin/
.