Python
Python és un llenguatge interpretat i completament orientat a objectes. Les seves principals aplicacions son:
- Aplicacions web
- Aplicacions d'escriptori (com GNOME, etc.)
Google ha impulsat molt la seva utilització. És més segur que altres llenguatges com PHP.
Contingut
Primeres passes amb Python
...
Instal·lació en Apache2 amb mòdul WSGI
Per poder utiltizar Python en Apache2 es pot fer de 2 maneres:
- Com a script CGI i amb el mòdul libapache2-mod-python (desaconsellat)
- Com a script WSGI, que és el standard per Python. Els detalls a continuació son per aquesta versió.
Per tant:
- Instal·la el mòdul WSGI
- Segons el fòrum anterior s'instal·la de manera que els scripts s'executen si tenen l'extensió .wsgi
- Pots afegir l'extensió .py alhora que la .wsgi per executar scripts Python en Apache.
- Segueix el tutorial per posar en marxa la primera aplicació Python-WSGI
- http://webpython.codepoint.net/wsgi_tutorial
- En aquest tutorial es posa en marxa el servidor des de la línia de comandes. El entorn wsgi ens permet executar l'aplicació mitjançant un servidor httpd propi (sense Apache) i accedint a un port particular. Si vols executar-ho en l'entorn Apache has de treure la crida a httpd.handle_request o httpd.serve_forever i posar-ho en un directori visible per l'Apache (/var/www o com ho tinguis configurat).
Més Python
- Per activar el debug per la pantalla del navegador enlloc de /var/log/apache2/error.log:
- Cal tenir en compte que en mode de producció no es pot tenir el debug activat. Tocant la conf de l'Apache es pot arreglar:
- Pyramid
- Virtualenv
- First Pyramid app: http://docs.pylonsproject.org/projects/pyramid/en/1.2-branch/narr/firstapp.html#firstapp-chapter
- Estructura d'arxius Pyramid. Els scaffolds per Pyramid no van com indiquen els tutorials (v.2.7 de python). Pots descarregar Fitxer:Myapp.tgz aquesta plantilla per Pyramid i canviant totes les cadenes "myapp" que trobis (particularment en development.ini). Els següents links no van del tot bé però la doc serveix:
Scaffolds (1r projecte): http://docs.pylonsproject.org/projects/pyramid/en/1.2-branch/narr/project.html#project-narrPaster (Pylons) i .ini file: http://docs.pylonsproject.org/projects/pyramid/en/1.2-branch/narr/paste.html
- WSGI integració de Pyramid (Pylons) amb Apache: http://code.google.com/p/modwsgi/wiki/InstallationInstructions
- Més Pyramid:
- Per començar a utilitzar MySQL amb Python:
- Persistència d'objectes:
- Amb pickle: http://docs.python.org/library/pickle.html
- En BD: ...
- GUI: hi ha diverses opcions:
- wxPython: http://wxpython.org/ Té editors visuals com wxDesigner o wxGlade
- PyQt: http://zetcode.com/tutorials/pyqt4/firstprograms/ Té editor visual QtDesigner.
- ...
- ...
Virtualenv
Resulta convenient disposar d'un entorn on poguem tenir les versions de Python que ens interessi i que no siguin les del sistema. Virtualenv ens pot ajudar.
...TODO...
Paste script per desenvolupament i desplegament
...TODO...
Per començar un buildout
El buildout ens permet descarregar els paquets en versions concretes per no dependre del sistema on tenim l'aplicació instal·lada.
- Iniciar arxius de projecte
- ...TODO... (IMPORTANT)
- Actualitzar la darrera versió del "distribute":
- http://pypi.python.org/pypi/distribute/#downloads
- $ wget http://python-distribute.org/distribute_setup.py
- $ python distribute_setup.py
- També es podria fer instal·lant un package del sistema, però podem tenir problemes de dependències després.
- http://pypi.python.org/pypi/distribute/#downloads
- Iniciem el bootstrap:
$ python bootstrap.py
- Activem la descàrrega i instal·lació:
bin/buildout -v
- ...