Python

De Cacauet Wiki
La revisió el 12:17, 7 maig 2013 per Enric (discussió | contribucions) (→‎Web services: Cornice)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
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[modifica]

...

Instal·lació en Apache2 amb mòdul WSGI[modifica]

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[modifica]

Web services: Cornice[modifica]

Package: Cornice

Abans de començar cal crear un nou projecte amb Pyramid (Buildout) i cal afegir la llibreria cornice al buildout.cfg.

  • 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
  • Millor que pycurl és urllib que ja està al sistema i per fer el fet anirem més ràpids
  • ...


Criptografia[modifica]