Python

De Cacauet Wiki
Salta a la navegació Salta a la cerca

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.

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:

  1. Instal·la el mòdul WSGI
  2. 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.
  3. 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

Web services: Cornice

Package: Cornice

  • Treballarem amb JSON: wikipedia i json.org. Java utilitza XMLRPC, i Microsfot SOAP.
  • Doc.oficial: http://packages.python.org/cornice/
  • Interessant i essencial el "Quick Start for people in a hurry" (emmagatzema objectes JSON), però hi ha un error: on diu _VALUES.set(...) en realitat ha de ser:
    _VALUES[key] = json.loads(request.body)
  • També necessitarem CURL (amb apt-get). Consulta el man o també online: http://curl.haxx.se/docs/manpage.htm
    • OJU amb JSON i curl, les cometes han de ser simples per tot el objecte JSON i dobles pels elements:
      $ curl http://el/meu/servei -d '{"nom1":"valor1",...}'
    • Més opcions curl: -X {GET|POST|PUT}
  • Llibreria PycURL: http://pycurl.sourceforge.net/ ens permet fer crides des de python amb cURL.
    • Oju: s'ha d'instal·lar al sistema (o al virtualenv) i cal afegir prèviament els paquets: python2.?-dev i libcurl4-gnutls-dev
    • Després ja es pot instal·lar amb
      $ easy_install pycurl


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.

Link principal: [1]

  1. Instal·lar virtualenv i fer source del activate
  2. Instal·lar setuptools (a.k.a. easy_install, que descarrega programari de Pypi):
  3. Actualitzar la darrera versió del "distribute":
  4. Creem el projecte
    $ buildout init
  5. Iniciem el bootstrap:
    $ python bootstrap.py
  6. Activem la descàrrega i instal·lació:
    $ bin/buildout -v
  7. ...