Herramientas de usuario

Herramientas del sitio


script:python:new:xtra

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
script:python:new:xtra [2013/11/01 16:55]
alfred [Instalaciones]
script:python:new:xtra [2020/05/09 09:25] (actual)
Línea 159: Línea 159:
   daemon = FooDaemon("/​tmp/​foodaemon.pid",​ "​FooDaemon"​)   daemon = FooDaemon("/​tmp/​foodaemon.pid",​ "​FooDaemon"​)
   daemon.main(extended_args={"​bar":​ daemon.bar})   daemon.main(extended_args={"​bar":​ daemon.bar})
 +</​code>​
 +
 +==== PyMongo ====
 +  * [[http://​api.mongodb.org/​python/​2.7rc0/​]]
 +It's a library to access Mongo data bases. \\ 
 +Connection:
 +<code python>
 +from pymongo import MongoClient
 +client = MongoClient()
 +client = MongoClient('​localhost',​ 27017)
 +client = MongoClient('​mongodb://​localhost:​27017/'​)
 +</​code>​
 +
 +Getting a db:
 +<code python>
 +db = client.test_database
 +db = client['​test-database'​]
 +</​code>​
 +
 +Getting a collection:
 +<code python>
 +collection = db.test_collection
 +collection = db['​test-collection'​]
 +</​code>​
 +
 +Posting an object:
 +<code python>
 +import datetime
 +post = { 
 +  "​author":​ "​Mike", ​
 +  "​text":​ "My first blog post!", ​
 +  "​tags":​ ["​mongodb",​ "​python",​ "​pymongo"​], ​
 +  "​date":​ datetime.datetime.utcnow() ​
 +}
 +posts = db.posts
 +post_id = posts.insert(post)
 +</​code>​
 +
 +Querying:
 +<code python>
 +posts.find()
 +posts.find_one({"​author":​ "​Mike"​})
 +posts.find_one({"​_id":​ post_id})
 +for post in posts.find({"​date":​ {"​$lt":​ d}}).sort("​author"​):​ ...
 +</​code>​
 +
 +Other actions:
 +<code python>
 +posts.count()
 +posts.find({"​author":​ "​Mike"​}).count()
 +</​code>​
 +
 +==== Message Pack ====
 +<code python>
 +import msgpack
 +import array
 +import json
 +
 +data = raw_input('​Insert data > ')
 +data = json.loads(data)
 +packed_data = msgpack.packb(data)
 +bin_data = array.array('​B',​ packed_data).tolist()
 +unpacked_data = msgpack.unpackb(array.array('​B',​ bin_data).tostring())
 +
 +print '​data:',​ data
 +print '​binary data:',​ bin_data
 +print '​unpacked_data:',​ unpacked_data
 </​code>​ </​code>​
 ==== Otras ==== ==== Otras ====
   * [[http://​code.google.com/​p/​psutil/​|psutil]],​ para controlar el rendimiento de la máquina.   * [[http://​code.google.com/​p/​psutil/​|psutil]],​ para controlar el rendimiento de la máquina.
 +  * [[https://​pypi.python.org/​pypi/​PyHamcrest|PyHamcrest]],​ para hacer comprobaciones entre instancias en los tests.
 +  * [[https://​pypi.python.org/​pypi/​termcolor|termcolor]],​ para mostrar colores por consola.
 +  * [[https://​dataset.readthedocs.org/​en/​latest/​|dataset]],​ ORM para emular una NoSQL con SQLite.
 +  * [[https://​pypi.python.org/​pypi/​tabulate|tabulate]],​ para mostrar datos en tablas por consola.
 +
 +=== No utilizadas ===
 +  * [[https://​github.com/​kennethreitz/​envoy|envoy]],​ para ejecutar programas más fácilmente.
 +  * [[https://​github.com/​ansible/​ansible|Ansible]],​ configuration-management,​ application deployment, task-execution,​ and multinode orchestration engine.
 +  * [[https://​github.com/​jakubroztocil/​httpie|httpie]],​ a cURL, easy-to-use,​ alternative.
 +  * [[https://​github.com/​kennethreitz/​requests|requests]],​ a library to manage HTTP requests.
 +  * [[https://​github.com/​saltstack/​salt|Salt]],​ is an infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds.
 +  * [[https://​github.com/​getpelican/​pelican|pelican]],​ static site generator.
 ===== Utilidades ===== ===== Utilidades =====
  
Línea 244: Línea 323:
 $ pip freeze -r devel-req.txt > stable-req.txt $ pip freeze -r devel-req.txt > stable-req.txt
 </​code>​ </​code>​
 +=== virtualenvwrapper ===
 +  * [[http://​virtualenvwrapper.readthedocs.org/​en/​latest/​]]
 +Es una herramienta para hacer más cómodo el uso de ''​virtualenv''​. Para instalarla haz:
 +<​code>​
 +$ pip install virtualenvwrapper
 +</​code>​
 +Y añade al .bashrc:
 +<​code>​
 +export WORKON_HOME=$HOME/​.virtualenvs
 +export PROJECT_HOME=$HOME/​Devel
 +source /​usr/​local/​bin/​virtualenvwrapper.sh
 +</​code>​
 +  * ''​$ workon''​ lista los virtualenv creados.
 +  * ''​$ mkvirtualenv <​nombre>''​ crea un virtualenv.
 +  * ''​$ workon <​nombre>''​ usa dicho virtualenv.
 ==== Crear un instalador ==== ==== Crear un instalador ====
   * [[http://​docs.python.org/​2/​distutils/​setupscript.html|Documentación]]   * [[http://​docs.python.org/​2/​distutils/​setupscript.html|Documentación]]
Línea 641: Línea 735:
 $ apt-get install libevent-dev $ apt-get install libevent-dev
 $ apt-get install python-dev $ apt-get install python-dev
-$ apt-get install ​gevent+pip install gevent 
 +</​code>​ 
 +**ZeroMQ** 
 +<​code>​ 
 +$ sudo apt-get install ​python-dev libzmq-dev 
 +$ pip install pyzmq 
 +</​code>​ 
 +** PyQt4 ** 
 +<​code>​ 
 +$ sudo apt-get install python-qt4
 </​code>​ </​code>​
script/python/new/xtra.1383324908.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)