[SOLUCIONADO] Problemas mintsources con python

Foro de soporte para usuarias de habla hispana

Moderator: Wibol

Forum rules
Topics in this forum are automatically closed 6 months after creation.
Locked
pbetancor
Level 1
Level 1
Posts: 4
Joined: Thu Jan 20, 2022 9:26 am

[SOLUCIONADO] Problemas mintsources con python

Post by pbetancor »

Hola, buenas tardes.

He actualizado hace poco a "Linux Mint 20.3 Una base" y no sé si los problemas vendrán por aquí.

El tema es que veo que hace días que no me sale nada para actualizar y me parece raro. Entonces intento abrir el "Gestor de actualizaciones" y no pasa nada. Lo mismo si intento abrir las "Fuentes de software".

Para ver el error los ejecuto desde la shell. Tanto al ejecutar mintupdate como mintsources me sale el mismo error:

Code: Select all

  File "/usr/lib/linuxmint/mintUpdate/mintUpdate.py", line 41, in <module>
    AUTOMATIONS = json.load(f)
AttributeError: module 'json' has no attribute 'load'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No existe el archivo o el directorio: '/var/crash/_usr_lib_linuxmint_mintUpdate_mintUpdate.py.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/linuxmint/mintUpdate/mintUpdate.py", line 41, in <module>
    AUTOMATIONS = json.load(f)
AttributeError: module 'json' has no attribute 'load'
Como digo, no sé si habrá sido la actualización a Linux Mint 20.3 (la hice como siempre desde el menú en "Informes del sistema") ya que este problema no apareció nada más actualizar, han pasado muchos días hasta que me empezó a dar.

De python no he tocado nada.

Code: Select all

ls  /usr/lib/ | grep python
python2.7
python3
python3.8
python3.9
He probado a hacer un "apt reinstall" tanto de mintsources como de python3 y python2 y sigue sin solucionarse el problema.

Gracias y saludos.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
User avatar
Jo-con-Ël
Level 11
Level 11
Posts: 3591
Joined: Sun Jun 20, 2021 12:41 pm
Location: donde habita el olvido

Re: Problemas mintsources con python

Post by Jo-con-Ël »

Entiendo que apt update no te devuelve ningún error. Confírmalo por favor y devuelve el resultado completo en caso de que no sea así.

Tampoco el resultado de correr mintupdate o mintsouces parece completo. Ejecútalos y devuelve el resultado después de resintalarlos o sea devuelve el resultado de:

Code: Select all

apt update
sudo /usr/bin/mint-refresh-cache
apt reinstall mintinstall mintsources
mintinstall
miintsources
Arrieritos semos y en el camino nos encontraremos.
pbetancor
Level 1
Level 1
Posts: 4
Joined: Thu Jan 20, 2022 9:26 am

Re: Problemas mintsources con python

Post by pbetancor »

Jo-con-Ël wrote: Thu Jan 20, 2022 2:52 pm Entiendo que apt update no te devuelve ningún error. Confírmalo por favor y devuelve el resultado completo en caso de que no sea así.

Tampoco el resultado de correr mintupdate o mintsouces parece completo. Ejecútalos y devuelve el resultado después de resintalarlos o sea devuelve el resultado de:

Code: Select all

apt update
sudo /usr/bin/mint-refresh-cache
apt reinstall mintinstall mintsources
mintinstall
miintsources
Hola, muchas gracias por responder.

Si, apt update me devuelve lo mismo.

Code: Select all

pbetancor:~$ apt update
[sudo] contraseña para pbetancor:            
Obj:1 https://dl.yarnpkg.com/debian stable InRelease
Des:2 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]                                                  
Obj:3 http://ppa.launchpad.net/remmina-ppa-team/remmina-next/ubuntu focal InRelease                                        
Des:4 http://dl.google.com/linux/chrome/deb stable InRelease [1.811 B]                                                     
Obj:5 http://repository.spotify.com stable InRelease                                                                       
Obj:6 http://archive.ubuntu.com/ubuntu bionic InRelease                                                                    
Obj:7 http://packages.microsoft.com/repos/code stable InRelease                                                            
Obj:8 http://archive.ubuntu.com/ubuntu focal InRelease                                                                     
Ign:9 http://packages.linuxmint.com una InRelease                                                                          
Des:10 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]                                                   
Obj:11 http://archive.canonical.com/ubuntu focal InRelease                                                                 
Obj:12 https://packages.microsoft.com/repos/ms-teams stable InRelease                                             
Obj:13 http://packages.linuxmint.com una Release                                        
Des:14 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Des:15 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1.093 B]
Des:16 https://typora.io/linux ./ InRelease [793 B]            
Des:17 http://security.ubuntu.com/ubuntu focal-security/main i386 Packages [363 kB]
Des:18 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [1.178 kB]
Des:19 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [210 kB]
Des:20 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [38,3 kB]
Des:21 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [9.132 B]
Des:22 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [676 kB]
Des:23 http://security.ubuntu.com/ubuntu focal-security/universe i386 Packages [532 kB]
Des:24 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [115 kB]
Des:25 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [66,0 kB]
Des:26 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [13,0 kB]
Des:27 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [2.464 B]
Des:29 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1.510 kB]
Des:30 http://archive.ubuntu.com/ubuntu focal-updates/main i386 Packages [592 kB]
Des:31 http://archive.ubuntu.com/ubuntu focal-updates/main Translation-en [296 kB]
Des:32 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 DEP-11 Metadata [280 kB]
Des:33 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [14,7 kB]
Des:34 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [894 kB]
Des:35 http://archive.ubuntu.com/ubuntu focal-updates/universe i386 Packages [664 kB]
Des:36 http://archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [196 kB]
Des:37 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 DEP-11 Metadata [364 kB]
Des:38 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [20,0 kB]
Des:39 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 DEP-11 Metadata [944 B]
Des:40 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 DEP-11 Metadata [7.992 B]
Des:41 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 DEP-11 Metadata [11,3 kB]
Descargados 8.392 kB en 2s (3.976 kB/s)                               
WARNING:root:cannot read /var/lib/command-not-found/commands.db.metadata: module 'json' has no attribute 'load'
Traceback (most recent call last):
  File "/usr/lib/cnf-update-db", line 26, in <module>
    col.create(db)
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 112, in create
    json.dump(self._calc_input_metadata(), fp)
AttributeError: module 'json' has no attribute 'dump'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_lib_cnf-update-db.0.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/cnf-update-db", line 26, in <module>
    col.create(db)
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 112, in create
    json.dump(self._calc_input_metadata(), fp)
AttributeError: module 'json' has no attribute 'dump'
Leyendo lista de paquetes... Hecho
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi'
E: Sub-process returned an error code
Lo mismo con sudo /usr/bin/mint-refresh-cache

Code: Select all

pbetancor:~$ sudo /usr/bin/mint-refresh-cache
WARNING:root:cannot read /var/lib/command-not-found/commands.db.metadata: module 'json' has no attribute 'load'
Traceback (most recent call last):
  File "/usr/lib/cnf-update-db", line 26, in <module>
    col.create(db)
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 112, in create
    json.dump(self._calc_input_metadata(), fp)
AttributeError: module 'json' has no attribute 'dump'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_lib_cnf-update-db.0.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/cnf-update-db", line 26, in <module>
    col.create(db)
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 112, in create
    json.dump(self._calc_input_metadata(), fp)
AttributeError: module 'json' has no attribute 'dump'
Error: mint-refresh-cache could not update the cache.
E:Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi', E:Sub-process returned an error code
Y así con todo:

Code: Select all

pbetancor:~$ apt reinstall mintinstall mintsources
Se REINSTALARÁN los siguientes paquetes:          
  mintinstall mintsources 
Se ELIMINARÁN los siguientes paquetes:
  linux-modules-extra-5.4.0-92-generic{u} 
Se configurarán los siguientes paquetes que están ahora parcialmente instalados:
  ubuntu-advantage-tools 
0 paquetes actualizados, 0 nuevos instalados, 2 reinstalados, 1 para eliminar y 5 sin actualizar.
Necesito descargar 3.759 kB/3.882 kB de ficheros. Después de desempaquetar se liberarán 202 MB.
¿Quiere continuar? [Y/n/?] Y
Des: 1 http://packages.linuxmint.com una/main amd64 mintinstall all 8.0.9 [3.759 kB]
Descargados 3.759 kB en 2s (2.419 kB/s)    
(Leyendo la base de datos ... 401405 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../mintsources_2.1.0_all.deb ...
Desempaquetando mintsources (2.1.0) sobre (2.1.0) ...
Configurando mintsources (2.1.0) ...
(Leyendo la base de datos ... 401405 ficheros o directorios instalados actualmente.)
Desinstalando linux-modules-extra-5.4.0-92-generic (5.4.0-92.103) ...
(Leyendo la base de datos ... 396035 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../mintinstall_8.0.9_all.deb ...
Desempaquetando mintinstall (8.0.9) sobre (8.0.9) ...
Configurando mintinstall (8.0.9) ...
Listing '/usr/lib/linuxmint/mintinstall'...
Configurando ubuntu-advantage-tools (27.5~20.04.1) ...
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "/usr/lib/python3/dist-packages/uaclient/entitlements/__init__.py", line 3, in <module>
    from uaclient.config import UAConfig
  File "/usr/lib/python3/dist-packages/uaclient/config.py", line 14, in <module>
    from uaclient import apt, exceptions, snap, status, util, version
  File "/usr/lib/python3/dist-packages/uaclient/apt.py", line 9, in <module>
    from uaclient import exceptions, gpg, status, util
  File "/usr/lib/python3/dist-packages/uaclient/util.py", line 103, in <module>
    class DatetimeAwareJSONEncoder(json.JSONEncoder):
AttributeError: module 'json' has no attribute 'JSONEncoder'
dpkg: error al procesar el paquete ubuntu-advantage-tools (--configure):
 el subproceso instalado paquete ubuntu-advantage-tools script post-installation devolvió el código de salida de error 1
Procesando disparadores para mime-support (3.64ubuntu1) ...
Procesando disparadores para hicolor-icon-theme (0.17-2) ...
Procesando disparadores para gnome-menus (3.36.0-1ubuntu1) ...
Procesando disparadores para libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.4) ...
Procesando disparadores para man-db (2.9.1-1) ...
Procesando disparadores para desktop-file-utils (0.24+linuxmint1) ...
Se encontraron errores al procesar:
 ubuntu-advantage-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Configurando ubuntu-advantage-tools (27.5~20.04.1) ...
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "/usr/lib/python3/dist-packages/uaclient/entitlements/__init__.py", line 3, in <module>
    from uaclient.config import UAConfig
  File "/usr/lib/python3/dist-packages/uaclient/config.py", line 14, in <module>
    from uaclient import apt, exceptions, snap, status, util, version
  File "/usr/lib/python3/dist-packages/uaclient/apt.py", line 9, in <module>
    from uaclient import exceptions, gpg, status, util
  File "/usr/lib/python3/dist-packages/uaclient/util.py", line 103, in <module>
    class DatetimeAwareJSONEncoder(json.JSONEncoder):
AttributeError: module 'json' has no attribute 'JSONEncoder'
dpkg: error al procesar el paquete ubuntu-advantage-tools (--configure):
 el subproceso instalado paquete ubuntu-advantage-tools script post-installation devolvió el código de salida de error 1
Se encontraron errores al procesar:
 ubuntu-advantage-tools
El comando mintinstall si me abre el gestor de software, pero detrás da el mismo error:

Code: Select all

pbetancor:~$ mintinstall
MintInstall: Detected system architecture: 'x86_64'
Installer: User pkgcache is most recent, using it.
Installer: Error loading pkginfo cache: module 'json' has no attribute 'load'
Installer: User pkgcache is most recent, using it.
Installer: Error loading pkginfo cache: module 'json' has no attribute 'load'
Installer: Generating new pkgcache
Installer: flatpak - metadata for remote 'flathub' has been updated. Comparing appstream timestamps...
Installer: flatpak - no new appstream data for remote 'flathub', skipping download
Installer: Processing Flatpaks for cache took 512.995 ms
Problem parsing package (maybe it's virtual): forticlient: 'NoneType' object has no attribute 'summary'
Problem parsing package (maybe it's virtual): openfortigui: 'NoneType' object has no attribute 'summary'
Installer: Processing APT packages for cache took 2438.557 ms
Installer: Could not save cache: module 'json' has no attribute 'dump'
Full installer startup took 2995.065 ms
MintInstall: Cannot open reviews cache: module 'json' has no attribute 'load'
MintInstall: Deleting old screenshots
MintInstall: Could not save review cache: module 'json' has no attribute 'dump'
MintInstall: Downloaded new reviews
MintInstall: Cannot open reviews cache: module 'json' has no attribute 'load'
El comando mintsources no me llega a abrir nada.

Code: Select all

pbetancor:~$ mintsources
Traceback (most recent call last):
  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 1933, in <module>
    Application().run()
  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 988, in __init__
    self.mirror_selection_dialog = MirrorSelectionDialog(self, self.builder)
  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 551, in __init__
    self.countries = json.load(data_file)
AttributeError: module 'json' has no attribute 'load'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No existe el archivo o el directorio: '/var/crash/_usr_lib_linuxmint_mintSources_mintSources.py.0.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 1933, in <module>
    Application().run()
  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 988, in __init__
    self.mirror_selection_dialog = MirrorSelectionDialog(self, self.builder)
  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 551, in __init__
    self.countries = json.load(data_file)
AttributeError: module 'json' has no attribute 'load'
No sé si habrá otra librería python llamada json en mi sistema que esté confundiendo los scripts, me parece muy raro. De python no sé mucho, he abierto el código de minUpdate y lo he depurado en el Intellij y el error da en la siguiente línea:

Code: Select all

# import AUTOMATIONS dict
with open("/usr/share/linuxmint/mintupdate/automation/index.json") as f:
    AUTOMATIONS = json.load(f)
Creo que el mensaje de error confunde con lo que está pasando, porque depurando, el método json.load si existe y lo está cogiendo de /usr/lib/python3.8/json/__init__.py. El fichero que intenta leer (/usr/share/linuxmint/mintupdate/automation/index.json) es correcto y su contenido es:

Code: Select all

{
    "upgrade": ["/etc/systemd/system/timers.target.wants/mintupdate-automation-upgrade.timer", "systemd"],
    "blacklist": ["/etc/mintupdate.blacklist", "Blacklist"],
    "autoremove": ["/etc/systemd/system/timers.target.wants/mintupdate-automation-autoremove.timer", "systemd"],
    "clean": ["/etc/apt/apt.conf.d/99_mintupdate_clean", "apt-daily config"]
}
De hecho, depurando desde Intellij paso a paso poniendo varios puntos de interrupción, minupdate funciona y me abre la aplicación. Pero si lo ejecuto desde el propio Intellij sin depurar, falla. Me parece un expediente X muy raro...

Gracias y saludos.
User avatar
Jo-con-Ël
Level 11
Level 11
Posts: 3591
Joined: Sun Jun 20, 2021 12:41 pm
Location: donde habita el olvido

Re: Problemas mintsources con python

Post by Jo-con-Ël »

Creo que, aunque no hayas instalado otro python directamente si has alterado el entorno de ejecución y estas cosas tienen mala solución. Un upgrade, mas aún un distro-upgrade, teniendo en cuenta los repositorios adicionales que has instalado bastaría, o si no desactivaste esos repositorios al realizar la actualización a Linux Mint 20.3 .

En tu lugar recurriría a restaurar una instantánea anterior con Timeshift. Antes comprueba que no tienes problemas con el disco duro, es decir que no esté empezando a fallar, en Discos> a la izquierda selecciona el disco y a la derecha en Estimación. Un disco duro inestable o con sectores corruptos tendría el mismo resultado o parecido.

Espera si quieres la opinión de otros usuarios con mas experiencia en estos problemas con python y proporciona el resultado de los siguientes códigos

Code: Select all

inxi -Fxxxzr
ls -ls /usr/bin/python*
pbetancor wrote: Fri Jan 21, 2022 3:08 am Me parece un expediente X muy raro...
No son tan raros (infrecuentes) estos problemas, hay demasiados "How to..." temerarios ahí fuera sobre python y como decía aquel los experimentos (con python) en casa y con gaseosa. Suerte. :wink:

(Edited)
Last edited by Jo-con-Ël on Fri Jan 21, 2022 5:52 am, edited 5 times in total.
Arrieritos semos y en el camino nos encontraremos.
pbetancor
Level 1
Level 1
Posts: 4
Joined: Thu Jan 20, 2022 9:26 am

Re: Problemas mintsources con python

Post by pbetancor »

Jo-con-Ël wrote: Fri Jan 21, 2022 3:53 am Creo que, aunque no hayas intalado otro python directamente si has alterado el entorno de ejecución y estas cosas tienen mala solución. Un upgrade, mas aún un distro-upgrade, tieniendo en cuenta los repositorios adicionales que has instalado bastaría, o si no desactivates esos repositorios al realizar la actualización a Linux Mint 20.3 .

En tu lugar recurriría a restaurar una instatánea anterior con Timeshift. Antes comprueba que no tienes problemas con el disco duro, es decir que no estñe empezando a fallar, en Discos> a la izquierda selecciona el disco y a la derecha en Estimación.

Espera si quires la opinión de otros usuarios con mas experiencia en estos problemas con python y proporciona el resultado de los siguientes códigos

Code: Select all

inxi -Fxxxzr
ls -ls /usr/bin/python*
Si, claramente algo ha cambiado en el entorno de ejecución de python de alguna que otra manera :(

A ver si encuentro a algún gurú de python que me ilumine y si no, como dices, recurriré a Timeshift.

Muchísimas gracias, que tengas buen día!!
pbetancor
Level 1
Level 1
Posts: 4
Joined: Thu Jan 20, 2022 9:26 am

Re: Problemas mintsources con python

Post by pbetancor »

Lo he solucionado!!!

Pongo por aquí la solución por si le pasa a alguien algo parecido.

Como la sospecha era que algo en el entorno python estaba mal, he añadido a /usr/lib/linuxmint/mintUpdate las siguientes líneas para ver de dónde estaba cargando los módulos de python:

Code: Select all

for path in sys.path:
    print(path)
Y me ha salido esto por pantalla:

Code: Select all

/usr/lib/linuxmint/mintUpdate
/usr/lib/python38.zip
/usr/lib/python3.8
/usr/lib/python3.8/lib-dynload
/home/pbetancor/.local/lib/python3.8/site-packages
/usr/local/lib/python3.8/dist-packages
/usr/lib/python3/dist-packages
/usr/lib/python3.8/dist-packages
Dentro de /usr/local/lib/python3.8/dist-packages vi que había un módulo llamado json que no coincidía con el módulo original dentro de /usr/lib/python3.8, por lo que lo borré. Y con eso ya se me solucionaron todos los problemas. Se ve que los scripts de linux mint encontraban la función json.load() en un módulo incorrecto, que a saber desde dónde se me instaló.

Estas cosas con java no pasan :lol:
User avatar
Jo-con-Ël
Level 11
Level 11
Posts: 3591
Joined: Sun Jun 20, 2021 12:41 pm
Location: donde habita el olvido

Re: [SOLUCIONADO] Problemas mintsources con python

Post by Jo-con-Ël »

Había detectado ese problema (era evidente) desde el principio pero al decir que no sabias mucho de python (ahora veo que no es asi) y yo tampoco, no me atrevía a proporcionarte enlaces a soluciones de esos problemas del tipo que encontré en la red si buscas por AttributeError: module 'json' has no attribute 'load', además yo no he actualizado a LM 20.3 una para cotejar resultados, y eliminé el comentario.

De hecho que encontraras ese json.py responsable me parece un milagro (podía estar en cualquier sitio incluso dentro de directorio de usuario si hubieras modificado el path,...)

Enhorabuena. :D
Arrieritos semos y en el camino nos encontraremos.
Locked

Return to “Español - Spanish”