ImportError: cannot import name QtWebKit en Ubuntu 16.10

Esta entrada plantea un problema que me está surgiendo ahora en Ubuntu 16.10:

¿Tiene una solución este problema? Estoy intentando instalar la versión 1.4.9.

Traceback (most recent call last):
  File "/usr/bin/pilas", line 8, in <module>
    pilasengine.utils.iniciar_desde_terminal()
  File "/usr/lib/python2.7/dist-packages/pilasengine/utils/__init__.py", line 325, in iniciar_desde_terminal
    _ = pilasengine.abrir_asistente()
  File "/usr/lib/python2.7/dist-packages/pilasengine/__init__.py", line 620, in abrir_asistente
    import asistente
  File "/usr/lib/python2.7/dist-packages/pilasengine/asistente/__init__.py", line 16, in <module>
    from PyQt4 import QtWebKit
ImportError: cannot import name QtWebKit

Desde ya muchas gracias por cualquier ayuda.

Hola @jetspydragon, ubuntu 6.10 o 16.10 ?

Je! Flor de typo… no, Ubuntu 16.10, disculpame, es la versión más reciente. Leí algo acerca de que Qt ya no viene por defecto o algo así. No sé si habrá una solución, parche o lo que sea, o si tendré que buscar algún paquete más reciente… o más antiguo. Lo que puedas decirme te agradezco. Estoy preparando un curso para el año que viene para chicos del secundario, encontré está herramienta en program.ar y me pareció muy interesante para iniciarse, obtener resultados y aprender a diseñar el juego.

Aguardo cualquier dato que puedas pasarme!

Hola @jetspydragon, por lo que veo parece que hay una solución. Mirá la respuesta #11 de David Oftedal:

A la noche voy a descargar un ubuntu para ver si logro comprobar si funciona o no. Avisame si llegás a probar antes.

Abrazo

Seguí los pasos pero al instalar pilas, ocurre que faltan dependencias:

´´´
Los siguientes paquetes tienen dependencias incumplidas:
python-pilas : Depende: python-qt4-phonon pero no va a instalarse
python-qt4-gl : Depende: python-qt4 (= 4.11.4+dfsg-2) pero 4.11.4+dfsg-1build4 va a ser instalado
´´´

Pilas requiere gl, pero gl no se instala porque la versión de qt4 instalada no cumple los requisitos… aparentemente al fijar una versión de python-qt4 hay otra serie de paquetes que quedan desconectados. ¿Alguna idea?

Hola @jetspydragon !!!, ahí lo pude hacer funcionar:

Actualicé los pasos de instalación en el wiki: instalacion · hugoruscitti/pilas Wiki · GitHub

Pero en sí, lo más relevante es instalar la versión anterior de pyqt que incluye webkit dentro (junto a los paquetes relacionados: pyqt4-gl y pyqt4-phonon).

Estos pasos serían los que te faltan:

sudo su
echo "deb http://archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list
echo "deb http://archive.ubuntu.com/ubuntu/ xenial-updates universe" >> /etc/apt/sources.list
apt-get update
apt-get install python-qt4=4.11.4+dfsg-1build4 python-qt4-gl=4.11.4+dfsg-1build4 python-qt4-phonon=4.11.4+dfsg-1build4
apt-mark hold python-qt4 python-qt4-gl python-qt4-phonon
exit

Avisanos si te sirve!

PD: vi que el mensaje de error menciona el paquete python-pilas, tal vez tengas que desinstalarlo con apt-get remove python-pilas e instalar pilas desde el repositorio también.

1 Like

Te aviso que lo tengo funcionando con PlayOnLinux, versión 1.9.24 de Wine. Por ahora sin problemas. No es lo ideal, pero al menos funciona.

Si tenés alguna idea sobre como hacerlo funcionar nativamente en Ubuntu 16.10 te lo agradeceré. ¿Sigue en desarrollo activo el proyecto?

Mil gracias, en cuánto pueda lo pruebo!

Bien, funcionó a la perfección. Ahora bien, ¿no hay ningún efecto colateral al agregar las fuentes de la versión anterior de ubuntu o al fijar las versiones de esos paquetes? Digo, porque el cambio es a nivel de todo el sistema operativo, ¿no podrían verse afectado otros programas?

Hola @jetspydragon, estás en lo cierto. Tiene efectos colaterales, porque de aquí a unos meses es probable que ubuntu te emita algún error al querer actualizar un paquete que necesite una versión nueva de qt, dado que no podrá satisfacer la dependencia de qt, porque la versión está fijada.

No es muy sencillo encarar una solución óptima en poco tiempo, porque adaptar pilas a esta versión nueva de qt rompería la compatibilidad hacia atrás que tiene pilas hacia otros sistemas como huayra y debian. Es un dilema.

Hace algunos meses le comentaba a un amigo la posiblidad de rediseñar pilas para utilizar html5 y electron. Seguramente en estos días, cuando arranque vacaciones, me ponga a meditar con detenimiento esta posibilidad, porque podría resolvernos muchos problemas como este y abrir otras opciones que varios chicos en la comunidad solicitaron, como poder exportar sus juegos a android o la web.

Es un tema super interesante para analizar, pero va a llevar tiempo… eso si.

2 Likes

Buenos días, @hugoruscitti cada vez que intento actualizar mi Debian 9 me pide que utilice estos paquetes

python-qt4 python-qt4-gl python-qt4-phonon

Me imagino que esos problemas similares se dan en Mac OS (Sierra) o sistemas operativos libres derivados de Ubuntu

Una ligera aclaración si actualizo deja de funcionar pilasengine y tengo que recurrir a esta solución que desinstala los paquetes y las versiones anteriores

sudo su
echo “deb Index of /ubuntu xenial universe” >> /etc/apt/sources.list
echo “deb Index of /ubuntu xenial-updates universe” >> /etc/apt/sources.list
apt-get update
apt-get install python-qt4=4.11.4+dfsg-1build4 python-qt4-gl=4.11.4+dfsg-1build4 python-qt4-phonon=4.11.4+dfsg-1build4
apt-mark hold python-qt4 python-qt4-gl python-qt4-phonon
exit