Página 1 de 3

Instalar y configurar Eclipse para trabajar con XBMC

Publicado: 29 Jul 2010, 17:58
por jurrabi
Eclipse es una comunidad abierta cuyos proyectos se centran en la creación de herramientas enfocadas a la creación de un entorno de desarrollo abierto que cubra todas las facetas del ciclo de vida de cualquier aplicación, desde los proyectos caseros hasta las soluciones empresariales. También se llama Eclipse al entorno integrado que producen.

Aunque Eclipse nació con una clara orientación hacia java actualmente proporciona módulos y herramientas para trabajar con casi cualquier lenguaje actual imaginable. Éste es el caso de pydev, el módulo de desarrollo basado en eclipse que utilizaremos para programar y trabajar con nuestro querido pelisalacarta.

IMPORTANTE: Aunque los pasos y vídeos de este tutorial están basados en la versión 3.5 (Galileo) de Eclipse he comprobado que el entorno funciona también bien con la última versión liberada 3.6 (Helios). Aquí podéis encontrar los enlaces necesarios.

Paso 1. Descarga del Entorno Eclipse básico (IDE)
Dado que eclipse es un entorno modular en su página de descargas podemos encontrar numerosos paquetes con diversos módulos incluidos para desarrollar en varios leguajes de moda. Como en nuetros caso no existe ningún paquete que incluya el entorno pydev buscaremos el paquete más básico que sólo incluya el entorno de desarrollo.

Importante: la documentación de pydev recomienda utilizar la versión 3.5 (Galileo) para trabajar. Aún no he probado si funcionaría con la actual 3.6 (Helios). Lo haré en breve, pero mientras recomiendo ajustarse a las versiones y archivos que aquí indiquemos ya que se trata de una plataforma probada y estable. Si pruebas otros paquetes puede que no sea capaz de ayudarte si te encuentras con problemas.

Por lo tanto, si vamos a la página de descargas para Galileo y buscamos el apartado del Platform Runtime Binary encontraremos las descargas para las diversas plataformas.

Yo usé ésta para Windows 32/64. Fíjate que ocupa sólo 47MB contra los más de 200MB que ocupa cualquiera de las pre-establecidas.

El proceso debería ser análogo para otras plataformas.

Paso 2. Instalación de Eclipse
En Windows este paso es bastante simple ya que la instalación consiste en descomprimir el archivo zip en la carpeta de tu elección.

Importante: Aunque puedes elegir libremente la carpeta de instalación te recomiendo que no utilices las clásicas de programas ya que Eclipse necesitará escribir en ella a menudo para descargar y actualizar los módulos que vayamos necesitando. Si lo instalas en la carpeta de programas tendrás que ejecutar eclipse con permisos de administrador.

Yo suelo tener una carpeta C:\Programas (o mejor aún en una unidad externa) donde pongo los programas que no requieren instalación para funcionar, como es el caso de Eclipse.

Supongo que en otras plataformas la instalación requerirá de otros pasos. Por favor, si instalas ésto en otra plataforma déjamos aquí comentadas tus experiencias para que otros puedan beneficiarse de ellas.

Paso 3. Actualización de Eclipse
Llegó la hora de ejecutar Eclipse por primera vez. Para ello entra en la carpeta donde lo instalaste y haz doble click en eclipse.exe.
Al lanzar Eclipse por primera vez nos preguntará dónde queremos guardar nuestros proyectos. Esta carpeta es donde Eclipse guardará la información de configuración de los proyectos que vayamos añadiendo así como el código fuente de los proyectos que creemos. No os preocupeis demasiado ahora ya que al crear o importar proyectos existentes tendremos opción de darle una carpeta alternativa para indicar donde tenemos nuestros ficheros de código.

Una vez arranque nos presentará la pantalla de bienvenida. Antes de seguir buscaremos las actualizaciones que haya disponibles. Para ello vamos a Help->Check for Updates.

El siguiente video muestra como realizar los pasos 2 y 3 en entorno Windows:


Paso 4. Instalación del módulo python - pydev
Pydev es un módulo de eclipse que proporciona un entorno de desarrollo completo. Entre otras funciones incorpora:
  • resaltado (coloración) de sintaxis
    chequeo de sintaxis python
    compleción de código
    auto import
    salto a definición de identificadores
    debugger (normal y remoto)
    ...
La instalación, como para muchos otros módulos, puede realizarse desde el propio entorno de Eclipse. Los pasos están muy bien explicados (con pantallas) en la página de pydev aquí.
Yo estoy utilizando la versión más moderna disponible en http://pydev.org/nightly y a hasta ahora no he tenído ningún problema. Desde luego si instalaste Eclipse 3.6 esa será la versión que tenga alguna posibilidad de funcionar.
En el siguiente videos podeis ver los pasos de instalación:


Paso 5. Instalación de Python 2.4
Aunque seguramente ya tengáis instalado el intérprete de Python en versión 2.6 o 2.7 para trabajar con XBMC es necesario trabajar con la versión 2.4 que es la que incluye internamente.
Para ello hay que visitar la página de descargas de la versión 2.4 y elegir el archivo adecuado para nuestra plataforma. En mi caso para windows podéis descargar el archivo correcto aquí. Instalarlo donde queráis, yo lo puse en su carpeta por defecto C:\python24.
También podéis instalar otras versiones de python en otras carpetas. Como veremos en los siguientes pasos pydev puede trabajar simultáneamente con proyectos que necesiten distintas versiones del intérprete.

Re: Instalar y configurar Eclipse para trabajar con XBMC (WIP)

Publicado: 29 Jul 2010, 20:09
por jurrabi
Paso 6. Configuración de intérpretes en Eclipse-pydev
Una vez instalados los intérpretes de python debemos indicarle a pydev donde están. Para ello entraremos en Windows->Preferences->Pydev->Interpreter - Python. Aquí añadimos pulsando en New, introducimos un nombre y buscamos la localización de su python.exe.
El siguiente video muestra como hacerlo:


Paso 7. Instalación módulo Subversión
Aquí disponemos de 2 opciones. La primera (subversive) está más extendida, pero es algo más complicada de instalar y, en mi opinión, le faltan iconitos que reflejen mejor el estado de los objetos (los objetos modificados se muestran con un > al comienzo del nombre)
El segundo (subclipse) está ganando popularidad y tiene iconitos que indican mejor el estado. Por contra tiene menor integración con otros módulos de Eclipse, pero creo que para el uso que le vamos a dar este será más que suficiente. De todas formas dejo las 2 opciones:

Opción 7.1. Instalación módulo SVN-Subversive
Subversive en una de las dos opciones para integrar con SVN. Éste es un poco especial porque a parte del módulo principal necesita un submódulo que llaman conector. Creo que la razón para que esté diseñado así puede tener que ver con con que el código de subversión no pueda distribuirse bajo las estrictas licencias de apertura que tiene la fundación eclipse. Claro que todo esto son meras suposiciones mías.

El hecho es que primero debemos instalar el módulo subversive SVN accediendo por Help->Install New Software. Aquí seleccionamos Work With: Galileo... y cuando aparezcan los módulos seleccionamos en la lista Collaboration->Subversive SVN Team Provider (Incubation).
Cuando termine la instalación y reiniciemos eclipse, para instalar el conector entraremos por Window->Preferences->Team->SVN. Al seleccionar la opción debería saltar automáticamente la función de descarga de Conectores. Aquí aparecerán muchas opciones pero no es tan complicado como parece. En Windows básicamente disponemos de 2 opciones: los SVN Kit y los Native JavaHL. Luego, en cada paquete tenemos varias versiones, que básicamente se diferencian por la versión de SVN con la que son compatible 1.4, 1.5 y 1.6. Nosotros elegimos SVN Kit porque parece más compatible entre distintas plataformas (Native JavaHL parece que es exclusivo para windows) y la versión compatible con SVN 1.6.x que sería el SVN Kit 1.3.0 (solo ellos entenderán porque no sincronizan los números de versión del kit con las versiones de SVN con las que son compatibles, pero bueno).
En definitiva, seleccionamos el SVN Kit 1.3.0 (compatible con SVN 1.6.x). Trans la instalación volvemos a reiniciar y estaremos casi listos para empezar a trabajar.
El siguiente video nos muestra como realizar estos pasos:


Opción 7.2. Instalación módulo SVN-Subclipse
La segunda opción para módulo de SVN es Subclipse. Este módulo es el responsable de los iconos que pudisteis ver en los videos de demo. Lo cierto es que en esos videos tenía instalados ambos módulos (nada recomendables) y aunque utilizaba la funcionalidad de subversive, los iconos los ponía subclipse :D
El modo de instalación es más sencillo que en el caso de subversive ya que no requiere descargar por separado un módulo conector (el conector viene incluido en el paquete).
Para instalar el módulo subversive debemos ir a Help->Install New Software Aquí añadir una nueva fuente de updates pulsando en Add y rellenando la url con la siguiente dirección: Una vez hecho esto seleccionamos el módulo subclipse y procedemos como en casos anteriores.
El siguiente video muestra como realizar la instalación:


Nota: En los siguientes pasos los casos que requieren el uso de SVN muestra los menús de subversive (opción 7.1). Con subclipse las operaciones son parecidas aunque pueden variar ligeramente las ventanas y menús.

Paso 8. Creación/importación de proyecto
Una vez que hemos llegado a este punto ya podemos empezar a desarrollar proyectos en Python. Pero como lo que nosotros queremos seguramente es trabajar con nuestro proyecto de pelisalacarta que seguramente ya tenemos instalado en el ordenador lo que necesitaremos hacer es crear/importar el código que ya tenemos instalado. Para hacer esto tenemos varias posibilidades dependiendo de si ya usabamos svn o si no y de si queremos trabajar con una copia que ya tengamos o si preferimos empezar con una copia limpia descargada del SVN para evitar mezclar lo conocido con lo nuevo... programador precavido vale por dos ;)

Antes de comenzar con los ejemplos quiero contar un poco los distintos archivos involucrados en el trabajo con Eclipse y SVN que se añadirán al proyecto.
Por un lado tenemos los archivos de Eclipse-pydev que son 2 y una carpeta:
  • .project
    .projectpydev
    .settings
Por otro lado, para el trabajo con svn en cada carpeta del proyecto se añade una carpeta .svn que almacena la información de estado de cada archivo del proyecto con respecto al servidor de código compartido. A estos ya los que ya trabajábais con SVN estaréis acostumbrados.
He querido detallarlos porque no os asusten cuando empecéis a trabajar con Eclipse. Respecto de los archivos de proyecto es importante no sincronizarlos con el SVN ya que guardan información de la forma de trabajo particular de cada uno (vistas y otras configuraciones del entorno) que no queremos que se nos machaquen al sincronizar con los compañeros.
Paso 8.1 Creación de un proyecto a partir de una versión limpia descargando del SVN.
Quizá esta sea la primera prueba que debamos hacer para realizar una descarga limpia del proyecto según se encuentra en el SVN. Aunque no sea vuestra elección predilecta (supongo que jesus y bandavi preferiréis la opción 2) puede ser interesante realizarla para comprender como funciona tanto el módulo svn como la creación de proyectos en Eclipse-pydev.
En lugar de mostrar toda la lista de pasos prefiero grabar un vídeo donde os puedo comentar las distintas opciones disponibles.
El siguiente vídeo muestra el proceso completo.


Paso 8.2 Creación de un proyecto a partir de una versión ya descargada del SVN.
Este paso será el interesante para jesus y bandavi principalmente ya que seguramente actualmente trabajan con una copia del proyecto sincronizada (más o menos) con svn. La gran ventaja de svn es que todos los paquetes que trabajan con SVN (ya sea tortoise, el estándar de Subversión oficial o cualquier otro módulo) almacenan la información de la fima forma para ser compatibles entre ellos. De forma que podemos realizar commits con un producto y updates con otro y todo seguirá funcionando. Esto es así siempre que no modifiquemos el modo de funcionamiento estándar. Por ejemplo en Tortoise es posible modificar la carpeta que utiliza por defecto para guardar la información de estado de sincronización de la estándar .svn a otra _svn. Si habéis cambiado algo lógicamente cada solución guardará datos en un sitio distinto y no estarán sincronizadas.
Lo que vamos a realizar en este caso es crear un nuevo proyecto pydev (archivos .project estándar de eclise y .projectpydev estándar de pydev) basándonos en código ya existente.
En lugar de detallar los pasos prefiero explicarlo en el siguiente video:



Paso 8.3 Creación de un proyecto Eclipse-pydev a partir de una carpeta de código ya existente (sin SVN)
Este sería el caso, por ejemplo de Lily, si se quiere trabajar con Eclipse-pydev pero sin usar SVN. Los pasos a seguir son exactamente los mismos que en el caso 8.2. La única diferencia es que al final Eclipse no mostrará información de modificación con los archivos del servidor y no estarán disponibles las opciones del menú Team. Pero por lo demás funcionará igual.


Paso 8.4 Importación de un proyecto Eclipse-pydev ya existente.
Este último caso lo utilizaremos por ejemplo cuando tengamos una nueva instalación de Eclipse y queramos incorporar los proyectos Eclipse-pydev ya existente. Es decir, en este caso nuestro proyecto ya tiene creados los archivos .project y si intentásemos incorporarlo con la opción File->New Eclipse daría un error (ya existen archivos de proyecto).
En esta situación lo que debemos usar es la función File->Import. Aquí seleccionaríamos General->Existing Projects into workspace y después le indicamos la carpeta donde esté guardado. Para este paso no voy a crear un vídeo. Supongo que para cuando necesitéis este tipo de importación de proyecto ya tendréis la suficiente experiencia con Eclipse como para aventuraros sin miedo ;)

Publicado: 30 Jul 2010, 12:23
por jurrabi
Paso 9. Ajustes de proyecto. Carpetas Include de proyecto
Para conseguir que pydev sea capaz de analizar el código y proporcionar compleción de código cuando escribimos referencias hacia módulos de nuestro proyecto (por ejemplo looger.info) necesitamos indicarle qué carpetas debe incluir en la búsqueda de librerías para nuestro proyecto. Es lo mismo que hacemos en default.py al añadir al path de librerías las carpetas Resources/lib, channels, etc para que el intérprete de python the xbmc encuentre los módulos que utilizamos.
Esto lo realizamos en las propiedades del proyecto (botón derecho del ratón en el proyecto->Properties) y en la ventana que se abre pydev - PYTHONPATH. Ahí añadimos todas las carpetas que incluimos en el módulo default.py, incluyendo la carpeta raíz del proyecto (pydev asume por defecto que no hay código fuente ahí si no se lo indicamos)
El siguiente video muestra cómo realizar este paso:


Paso 10. Configuración del proyecto, XBMC y eclipse para realizar debuging de scripts python en XBMC.
Para poder debuguear código python desde Eclipse debemos realizar 3 pasos.
1. Añadir los botones de activación/parada del servidor de debugger de pydev.
2. Copiar el código de pysrc en la carpeta de librerías python de XBMC. Existe una versión modificada por mi que podéis descargar aquí o podéis modificarlo vosotros mismos como se indica en el video.
3. Incluir el código de incicio del cliente debugger en el código de pelisalacarta. Este paso seguramente no sea necesario replicarlo porque pienso incorporarlo yo en los próximos días.
Estos 3 pasos están explicados en el siguiente video:


Como consejos finales diría que, al menos al principio, luchéis la tentación de realizar instalaciones completas y de instalar funciones que se salgan de lo indicado en esta guía ya que añadir cosas es fácil en Eclipse, pero también es fácil que esas cosas entren en conflicto y causen problemas. Yo por ejemplo he tenido instalados 2 módulos de SVN que se pegaban por informarme sobre el estado de mi proyecto. Además los módulos adicionales para realizar cualquier tarea que puedas pensar se cuentan por cientos y, si no sabemos bien para que son, nos podemos encontrar con pantallas de configuración cada vez que iniciamos Eclipse que no sepamos para que sirven (hablo por experiencia)

Para colmo los procesos de desinstalación no son sencillos ya que las dependencias entre módulos nos obligan a desinstalar exactamente de forma inversa a la que instalamos y Eclipse no ayudará mucho a la hora de averiguar que módulos dependen de cuales otros.

Al finalizar la instalación según se indica en esta guía yo tengo una carpeta de Eclipse de unas 140 MB (menor que muchas distribuciones preparadas de python).

Finalmente decir que aunque he realizado los pasos según creaba este hilo no he recomprobado que todo lo escrito/dicho sea 100% correcto. Si encontráis algún error o problema en el texto o lo vídeos, por favor, dejad un mensaje en este mismo hilo. Espero que todo este trabajo os sirva de ayuda y os animéis a dar el salto a Eclipse. Seguro que no os arrepentiréis.

Un saludo,

jur.

Actualización a últimas versiones

Publicado: 30 Jul 2010, 14:07
por jurrabi
En este post pondré los enlaces para realizar una instalación de Eclipse-pydev con las últimas versiones de todo cuando verifique si funciona. La intención es probar con:

Eclipse 3.6 (Helios) pydev 1.6.0 Módulo de Subversión (elegir sólo uno de los 2 siguientes)
Subclipse 1.6.x Subversive 0.7.9
EDITO: Funciona con 3.6 usando los módulos y enlaces que he indicado arriba. El proceso de instalación es el mismo que el de 3.5.

También usaré este post para indicar módulos opcionales que puedan ser interesantes para añadir funcionalidad interesante. Entre otros considero mirar:
Egit - Integración de git con Eclipse (el sistema de gestión de código utilizado por TeamXBMC)

Re: Instalar y configurar Eclipse para trabajar con XBMC

Publicado: 07 Ago 2010, 16:22
por jurrabi
Veo que aumentan las visitas del post, pero no los comentarios sobre las experiencias... :( me gustaría, si lo intentáis, que me contéis como os ha ido. Le eché unas cuantas horitas al tutorial...

Pero bueno. no posteaba para eso. El caso es que he integrado también la gestión de problemas (issues en inglés) tanto del trac de xbmc como el issue tracker que incorporan los proyectos de Google Code.

Esto no lo estamos usando en pelisalacarta (la solapa de issues está cerrada en la página del proyecto) pero creo que podría ser un buen sitio para que los nuevos usuarios que lleguen al plugin (que creo que se van a multiplicar cuando se publique en el repositorio oficial) puedan reportar los errores de una forma más organizada y controlable que en el foro.
Os adjunto una foto para que veáis la pinta. Si alguien finalmente se anima a trabajar con eclipse y le interesa añadir también esta gestión de incidencias puedo hacer otro video... pero como decía José Mota: Si hay que ir se va, pero ir para nada es tontería...

Re: Instalar y configurar Eclipse para trabajar con XBMC

Publicado: 09 Ago 2010, 07:25
por jesus
Gracias por el tutorial, está espectacular. Desde luego se nota el esfuerzo invertido en él :)

Yo ya tengo mi instalación completa de pydev siguiendo tus pasos, puesto que me faltaban algunas lagunas que he resuelto con lo que has escrito. Aunque la instalación de eclipse no es exclusiva y la tengo que compartir con otros lenguajes. Al final mi eclipse acabará siendo como skynet...

Una cosa que no he podido sacar... igual es porque no he montado la parte del debugging. ¿Has podido hacer que autocomplete las librerías de xbmc? Para que cuando pongas "xbmc." te saque las funciones.

Re: Instalar y configurar Eclipse para trabajar con XBMC

Publicado: 10 Ago 2010, 09:48
por jurrabi
Lo cierto es que aún no. Sería cuestión de crear una librerías cabecera. Probablemente haya una forma automática y sencilla de hacerlo (python es conocido por su capacidad introspectiva)... Luego le hecho un vistazo...

Re: Instalar y configurar Eclipse para trabajar con XBMC

Publicado: 15 Ago 2010, 18:49
por bandavi
Siento no haber podido dar mis impresiones con mas rapidez, pero los lios del trabajo, previo a las vacaciones no me dejaron mucho tiempo. :(

Menudo tutorial que te haz currado Jurrabi! :o, no te haz dejado nada, esto deberia tener una chincheta y que este anclado en desarrolladores . ;)

Ya he instalado eclipse siguiendo los pasos del tutorial jejeje :) lo haz dejado chupao, ya hice debugging y todo, y funciona de maravilla, eso si lo que dice Jesus de las librerias del xbmc, seria bien poder solucionarlo, es que sale "Unsolved import" asi en las tres librerias, aunque para el debugging no es necesario parece, ya que hace el debugging de forma remota no?, siendo asi me pregunto, será que puedo debuggear desde la xbox?.

Aun me falta hacer muchas pruebas, sobretodo con los breakpoints, en estos dias me pondré ha hacer algunos canales nuevos, si tienes algunos tips serian de mucha ayuda.

El editor me ha encantado, te rellena las intrucciones conocidas y ademas sabes al instante si tienes error de sintaxis, una pasada. :)

Ya iré poniendo mas impresiones a medida que vaya haciendo pruebas.
Enhorabuena por el tutorial!.

Re: Instalar y configurar Eclipse para trabajar con XBMC

Publicado: 27 Ago 2010, 12:30
por jesus
La verdad es que cada vez que entro a este hilo flipo con la currada de Jurrabi :)

Llevo unos días ya trabajando a ratos en tvalacarta (migrando a la nueva version de xbmc) y lo estoy haciendo ya con Eclipse. Macho, has creado escuela je je je

Re: Instalar y configurar Eclipse para trabajar con XBMC

Publicado: 27 Ago 2010, 22:10
por jurrabi
Os lo dije... el poder del lado oscuro es irresistible...

Me alegra que os guste.