Python
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma.
Posee una licencia de código abierto, denominada Python Software Foundation License,1 que es compatible con la Licencia pública general de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores.
Libro de Python para Principiantes.
Python Enhancement Propuesta.En el PEP 1 explica qué es realmente.
En resumen es un documento que con un diseño de alguna nueva característica o propuesta de cambio importante a Python, o de alguna librería, respetando las normas en la que Python.
La creación los PEP fue con la intención de ser los principales mecanismos para proponer nuevas e importantes funciones, para la recogida de información de la comunidad sobre un tema, y para documentar las decisiones de diseño que han entrado en Python.
El autor PEP es responsable de la creación de consenso dentro de la comunidad y la documentación de las opiniones.
Plantillas de PEP
Hay dos formatos disponibles para crear un PEP: texto plano y reStructuredText. Ambos son archivos de texto UTF-8-codificado.
PEP texto plano se escriben con marcado estructural mínima que se adhiere a un estilo rígido. PEP 9 contiene unas instrucciones y una plantilla se puede utilizar para escribir un PEP en texto plano.
ReStructuredText PEP permite rica marcado que todavía es muy fácil de leer, con un aspecto mucho mejor y más funcional. En el PEP 12 contiene instrucciones y una plantilla para PEP reStructuredText.<Aunque de momento yo lo descarto>
Empezar a conectar Python con Bases de datos:
Existen cientos de bases de datos , la cuales podemos querer conectar Python con ellas. Existen cientos de modulos distintos de Python para poder conectar con esas bases de datos.
En Python existe una API estandar para el manejo de bases de datos, de modo que el código sea practicamente igual dependiendo de la bases de datos que se utilice.Esta se llama Python Database API o DB-API y se recoge en el PEP 249 (http://www.python.org/dev/peps/pep-0249/).
Los MODÚLOS en Python
Para facilitar el mantenimiento y la lectura los programas demasiado largos pueden dividirse en módulos, agrupando elementos relacionados. Los módulos son entidades que permiten una organización y división lógica de nuestro código. Los ficheros son su contrapartida física: cada archivo Python almacenado en disco equivale a un módulo.
Existen muchas propiedades que se pueden agregar al lenguaje importando módulos, que son "minicódigos" (la mayoría escritos también en Python) que proveen de ciertas funciones y clases para realizar determinadas tareas. Un ejemplo es el módulo Tkinter, que permite crear interfaces gráficas basadas en la biblioteca Tk. Otro ejemplo es el módulo os, que provee acceso a muchas funciones del sistema operativo.
Los módulos se agregan a los códigos escribiendo (NomModulo) nombre de fichero sin extensión.
import NomModulo
Podemos utiliza otra comando ,que importa partes del modulo .
from NomModulo import ParteModulo
A la hora import un modulo Python recorre todos los directorios indicados en la variable de entorno PYTHONPATH en busca de un archivo con el nombre adecuado. El valor de la variable PYTHONPATH se puede consultar desde Python mediante sys.path
Para Pyhton los modulos son objetos, de tipo modules. Por supuesto esto significa que pueden tener atributos y métodos. Uno de sus atributos, __name__, se utiliza a menudo para incluir código ejecutable en un módulo pero que este sólo se ejecute si se llama al módulo como programa, y no al importarlo. Para lograr esto basta saber que cuando se ejecuta el módulo directamente __name__ tiene como valor __main__, mientras que cuando se importa, el valor de __name__ es el nombre del módulo.
Otro atributo interesante es __doc__, que, como en el caso de funciones y clases, sirve a modo de documentación del objeto (docstring o cadena de documentación). Su valor es el de la primera línea del cuerpo del módulo, en el caso de que esta sea una cadena de texto; en caso contrario valdrá None.
Paquetes
Si los módulos sirven para organizar el código, los paquetes sirven para organizar los módulos. Los paquetes son tipos especiales de módulos (ambos son de tipo module) que permiten agrupar módulos relacionados. Mientras los módulos se corresponden a nivel físico con los archivos, los paquetes se representan mediante directorios.
En una aplicación cualquiera podríamos tener, por ejemplo, un paquete iu para la interfaz o un paquete bbdd para la persistencia a base de datos.
Para hacer que Python trate a un directorio como un paquete es necesario crear un archivo __init__.py en dicha carpeta. En este archivo se pueden definir elementos que pertenezcan a dicho paquete, como una constante DRIVER para el paquete bbdd, aunque habitualmente se tratará de un archivo vacío. Para hacer que un cierto módulo se encuentre dentro de un paquete, basta con copiar el archivo que define el módulo al directorio del paquete.
Como los modulos, para importar paquetes también se utiliza import y from-import y el caracter ‘.’ para separar paquetes, subpaquetes y módulos.
- Olalla
- Python
Una vez tengamos instalado Python3.3 en Windows.
Creamos un programa de python como prueba ej. pythonPruebas.py que contiene un simple:
- print("ola")
- input("chao")
Compilar python desde Windows
Necesitamos instalar cx_freeze para crear ejecutable, si tubieramos python2.X nos valdria usar psycogp2.
Instalo cxfreeze compilador de python. Este es autoinstalable, crea una carpeta llamada Scripts en Python33 .
Se instala en Python33 --> Lib --> site-packages --> cx_Freeze
Con el siguiente comando logro convertir en un archivo ejecutable un script .py ej. pythonPruebas.py.
Desde terminal escribo:
C:\tpvopen\python>pythonPruebas.py cxfreeze - target-dir dist
Modificamos el PATH :
Vamos a Equipo --> click btn raton drcho -->Propiedades --> Config. Avanzada --> Variables Entorno --> modificamos el PATH , editamos y ponemos : C:\Program Files\Diffuse;C:\Python33
Como en la imagen y luego aceptamos todo y REINICIAMOS EL ORDENADOR.
Compilar Python
Vamos a la consola normal y ponemos:
C:\tpvopen\python>Python.exe "C:\Python33\Scripts\cxfreeze" "pythonPruebas.py" --target-dir "C:\tpvopen\python\ejecutable"
Entonces me crea unos archivos ejecutables:
Problema que puede suceder cuando pruebas el ejecutable en otro ordenador con Windows
Puede mostrarte un error tipo: No encuentra la libreria MSVCR100.dll
Solucion:
- Llevarte esa libreria del ordenador en el que creaste el ejecutable y copiarla en C:\Windows\System32
- O copiar la libreria de python33.dll en C:\Windows\System32
En mi caso utilice la 2ª opcion y me funciono el ejecutable en el otro ordenador sin problemas.
- Olalla
- Python
Para conectar python con postgreSQL necesito un adaptador psycopg2.
Instalación psycopg2:
Despues de descargar el paquete psycopg2 al ejecutarlo se guarda por defecto en :
- Olalla
- Python
Iniciarse con Python 3.3 + GTK en windows
La necesidad de trabajar con python y gtk en windows nos obliga investigar como se puede realizar.
En linux los paquetes viene por defecto en la mayoría de las distribuciones, pero como nuestro objetivo es crear una aplicación multiplataforma, debemos comprobar y ver como hacerlo en windows
Búsqueda de información
En nuestra búsqueda de información encontramos el siguiente vídeo donde nos indica como instalar GTK + for windows Runtime Environment, instalador que tiene las GTK + dlls con todo lo que ellos dependen.
Por ser python3.3, el siguiente vídeo tutorial no nos sirve
Video tutorial de como instalar GTK, pyCairo, pyGObject, pyGTK
- GTK "GIMP Tool Kit" es una biblioteca del equipo GTK+, la cual contiene los objetos y funciones para crear la interfaz gráfica de usuario. Maneja widgets como ventanas, botones, menús, etiquetas, deslizadores, pestañas, etc.
- PyGTK es un binding de la biblioteca gráfica GTK para el lenguaje de programación Python.
.... Bueno hasta quí no puedo decir que funcione...
Otras fuentes que encontramos y debemos comprobar:
Deslinux: Desarrollo de aplicaciones con Python 3 + Glade + Gtk en Windows
Más link sobre Python:
- Olalla
- Python
Introducción:
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.
Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma, por lo cual es ideal empezar programar y poder utilizar los en varios sistemas operativos.
Es administrado por la Python Software Foundation. Posee una licencia de código abierto, denominada Python Software Foundation License,1 que es compatible con la Licencia pública general de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores.
Instalación de Python:
Antes empezar a instalarlo, lo primero conocer que en la actualizadad existen dos versiones disponibles.
- Python 2
- Python 3
Ambas las hay para varios sistemas operativos, por este motivo para instalar pyhton recomendamos que visiteís la web de la fundacion python.
En muchas distribuciones de linux ya esta instalado por defecto, ademas debéis saber que en tu sistema operativo podéis instalar las versiones python queráis.
Empezar a programar en Python:
Una vez instalado ya podemos utilizar Python atraves de el interprete de python.
Si tenemos varias versiones solo tenéis que llamar al interprete interactivo estandar de cada versión.A parte podemos instalar otros intérpretes con distintas opciones al que viene por defecto como:
- bpython ( Intérprte ideal para empezar, por la ayuda que nos proporciona )
- ipython notebook ( Interprete con servidor web, pensado para publicar programacion y desarrollo)
Esto todo es utiles para probar instrucciones simples, pero realmente lo que buscamos es poder realizar pequeños programas o grandes que sean ejecutables, para ello escribir nuestro código en un fichero con la extension .py y por ello recomendamos utilizar un editor que nos ayude crear todo ese código.
Nos vale cualquier editor texto plano, como puede ser VIM, geany, ... incluso muchos de ellos tiene plugin expecificos para python.
Un editor que ya viene totalmente configurado para programar en python es PyCharm.
Empezando nuestro primer programa o script.
Para que el script se pueda ejecutar en Linux
- la primera línea de código debe ser: "#!/usr/bin/python", para indicar donde se encuentra el intérprete.
- Y la segunda: # coding=utf-8, para ejecutar un programa .py una vez dados los permisos de ejecutar en propiedades.
Links de referencia:
libro para principiantes , bastante interesante.
Guia básica de python - Inglés.. ideal para conocer inicialmente python.
Manual de Python para todos: Tutorial bastante claro y práctico de la web de la Universidad Técnica de Federico Santa Maria (Chile).