miércoles, 31 de mayo de 2017

Integrando (Un poco) pyramid en Eclipse: Test Automatizados

Esto será breve. Es más bien una revisión, porque con la forma en que lo hemos configurado esto se ha hecho automáticamente, y bien.

Por otra parte, acá hay algo raro que será mejor verificar: Desde una consola de nuestro entorno virtual, hay que instalar nose, y en Fedora, al menos para mí, webtest, así, en minúsculas
virtualenv proyecto-ambiente
pip install nose
pip search webtest
Buscamos a proyecto en Project Explorer. Accedemos a propiedades con Alt + Enter o desde el menú desplegable al hacer click derecho.

Buscamos la pestaña Run/Debug Settings. Hay dos perfiles configurados. En general, el que nos importa es aquel que se llama <nombre del proyecto>_test. En nuestro caso que nuestro proyecto se llama proyecto:

Lo seleccionamos en la lista, y hacemos click en Edit y aparece un cuadro de diálogo con las configuración de dichos perfiles

En la pestaña Main, debe estar configurado de la siguiente manera. Si se configuro tal como en el post anterior, ya debería estar así

En Arguments, debe estar checado Override PyUnit preferences for this launch?, de esta forma podremos configurar Nose test runner al elegirlo desde la lista desplegable

En la pestaña Interpreter, pues si, debería configurarse python_proyecto, el intepréte personalizado que configuramos en el post anterior pero parece haber un bug en esto, aunque se elija y configure tal, no se queda configurado
Por último, la verificación es de lo más sencilla. Corremos los test que vienen por defecto en la plantilla de proyecto starter de pyramid:
Vemos que, en hacia el fondo de la aplicación, hallamos la ventana Console con el resultado de la operación:

Dos cosas por si se me olvida registrarlas después:
  • Para hacer más test, lo mejor será borrar el fichero test.py y luego crear una carpeta test/. Asimismo, el nombre de cada fichero debe comenzar con test
  •  

martes, 30 de mayo de 2017

Integrando (Un poco) pyramid en Eclipse

Una vez hayamos creado un proyecto (Uno sencillo, como este), configuramos a Eclipse para trabajar de forma más o menos integrada con pyramid. No, no va estar del todo integrado, apenas lo suficiente para asegurarnos de que va a autocompletar con las librerías de pyramid y para realizar los test automatizados sin mayores inconvenientes. Es que, básicamente, esto va sobre configurar el entorno virtual que creamos para este proyecto.

Y antes de otra cosa, es necesario tener instalado PyDev para que esto funcione. Y como hay guías más especializadas allá fuera, no repetiré

Abrimos el menú para abrir proyectos en File > Open Project from File System. Aparece el siguiente cuadro de diálogo

Haciendo click en Directory, nos aparece un cuadro de dialogo del sistema para buscar el directorio donde se encuentra nuestro proyecto.
Yo escogí proyecto-ambiente/proyecto (Para coincidir con el punto donde configuro el repositorio git, gusto mío), pero habrá quién prefiera proyecto-ambiente/proyecto/proyecto, que es donde se encuentra precisamente nuestro código.

Luego, se verá de la siguiente manera una vez configurado. Haciendo click en Finish, habremos terminado de configurar nuestro proyecto.

A continuación, necesitamos que Eclipse reconozca que el proyecto es python para que active ciertas funciones.
En el Project Explorer, usualmente a la izquierda, hacemos click derecho en nuestro proyecto; en el menú desplegable que aparece nos dirigimos a PyDev > Set as PyDev Project.


También podría bastar con abrir una fichero python, pero no es que la primera sea la "forma más correcta", sino que habría que pelearse más con la configuración.

Ahora, en el anterior menú desplegable del proyecto buscamos Properties o hacemos Alt + Enter para acceder al siguiente cuadro de diálogo.



Nuestra primera pestaña a configurar será PyDev - Interpreter/Grammar

La idea es configurar en Interpreter al que se encuentra instalado en nuestro entorno virtual proyecto-ambiente, y para ellos habrá que configurarlo haciendo click en Click here to configure an interpreter not listed
Aparece la siguiente ventana
Haciendo click en New, nos aparece el siguiente Cuadro de diálogo.

En Interpreter Name, configuramos un nombre cualquiera vagamente descriptivo, tanto más si vamos a trabajar en varios proyectos a la vez. 

Para Interpreter Executable, hacemos click en Browse, y si, aparece un cuadro de diálogo de tipo fichero. Buscamos dentro de nuestro entorno virtual proyecto-ambiente el directorio de ejectubles bin/, y dentro de este, a python. El cuadro de diálogo queda de la siguiente forma:

Al hacer click en Ok, nos aparece un cuadro de diálogo Selection needed, donde se nos pide agregar las librerías que se corresponden con ese interprete

Ahora, se puede ver este nuevo intérprete configurado

En este punto, podemos configurarlo como intérprete de nuestro proyecto en la lista desplegable Interpreter.

Hacemos click en Apply para seguir configurando. O en Ok, que esto sigue en otro post.

Mi objetivo se cumple: El autocompletado se rebusca en las librerías del entorno virtual


lunes, 29 de mayo de 2017

Integrando (Un poco) pyramid en Eclipse: Creando el proyecto

Este artículo muestra la forma más sencilla de empezar un proyecto con Pyramid, ya que a diferencia de Primero pasos con Pyramid no se modifica nada en orden de iniciar un gran proyecto. Además, esta vez hice algunas capturas de pantalla y creo que esa es la principal justificación

Creamos un entorno virtual para el proyecto de nombre proyecto y entramos al directorio creado
virtualenv proyecto-ambiente
cd proyecto-ambiente
Activamos el entorno virtual. Esto lo hacemos siempre que vayamos a usarlo. Así es como usamos las librerías y ejecutables que instalemos en él y no los del sistema.
source bin/activate
En este momento, el entorno se ve más o menos de esta forma:
Instalamos pyramid
pip install pyramid
Creamos un proyecto de nombre proyecto con la plantilla starter
pcreate -s starter proyecto
El pcreate ha creado un directorio proyecto:
Instalamos los paquetes python que este proyecto en específico necesita. Se configuran en proyecto/setup.py, por ahora lo dejamos tal como se configuro por defecto
python proyecto/setup.py develop
Y nuestro proyecto se ve de esta forma
Y eso es todo.

Otros apuntes interesantes

Otros apuntes interesantes