Nov 302012
 

Petit aide mémoire des problèmes que j’ai pu avoir avec virtualenv, marre de devoir chercher à coup de history et de grep quand je retombe sur le soucis.

En mettant à jour ma ubuntu, je suis tombé sur un problème assez ennuyeux, mes virtualenv ne voulaient plus fonctionner. L’erreur qui m’était renvoyé était tout sauf claire :

File "/usr/lib/python2.7/random.py", line 47, in <module>
from os import urandom as _urandom

Après quelques recherches, un workaround semble fonctionner, reconstruire son virtualenv (avec pour moi mkvirtualenv NomVENV). Si la commande refuse de fonctionner, pour la fallacieuse raison qu’un executable python existe déjà dans le bin de votre Virtualenv, il vous suffit de renommer votre executable python en opython (ou de le supprimer) avant de relancer la création de votre Venv.

Cela peut suffire, ou pas.

Pour certains venv django, j’ai eu des erreurs concernant Mysql et Python. Là encore, après quelques recherches, un workaround émerga : désinstaller puis réinstaller le coupable :


  • pip uninstall MySQL-python
  • pip install MySQL-python

 

Petit aide mémoire des problèmes que j’ai pu avoir avec virtualenv, marre de devoir chercher à coup de history et de grep quand je retombe sur le soucis.

En mettant à jour ma ubuntu, je suis tombé sur un problème assez ennuyeux, mes virtualenv ne voulaient plus fonctionner. L’erreur qui m’était renvoyé était tout sauf claire :

File “/usr/lib/python2.7/random.py”, line 47, in <module>

from os import urandom as _urandom

Après quelques recherches, un workaround semble fonctionner, reconstruire son virtualenv (avec pour moi mkvirtualenv NomVENV). Si la commande refuse de fonctionner, pour la fallacieuse raison qu’un executable python existe déjà dans le bin de votre Virtualenv, il vous suffit de renommer votre executable python en opython (ou de le supprimer) avant de relancer la création de votre Venv.

Cela peut suffire, ou pas.

Pour certains venv django, j’ai eu des erreurs concernant Mysql et Python. Là encore, après quelques recherches, un workaround émerga : désinstaller puis réinstaller le coupable :

pip uninstall MySQL-python

pip install MySQL-python


flattr this!

 Posted by at 23:53
Nov 262012
 

Ce week-end avait lieu la première DjangoCon Toulouse, une rencontre django régionale au pays du cassoulet. Les festivités commençaient à 11h30 le samedi avec des LT, puis une rafale de huit conférences l’après midi, et pour finir sprint et ateliers le dimanche.

Cette Djangocon est également la première Cong qui n’était pas un événement autonome mais un événement à l’intérieur d’un autre événement (à savoir le capitole du libre). Je dois avouer que je suis assez partagé sur cette solution de l’événement dans l’événement. Effectivement cela permet d’attirer ‘des curieux’ qui viennent papillonner le temps d’une conférence ou d’un atelier (le nombre de 64 personnes dans l’auditoire a d’ailleurs été atteint). Cela permet aussi d’assister à une conférence de Jérémie Zimmermann la fin du premier jour. Enfin, cela permet de diminuer la charge de travail pour les orgas. Mais cela aussi signifie ne pas être mettre de tout les choix (essentiellement logistique) et de devoir gérer les interactions avec l’organisation globale. Je suis donc partagé sur ce mode d’événement à l’intérieur d’un autre.

Mais venons en maintenant au Djangocon en elles mêmes. Tout d’abord le programme. LT et conférences étaient très intéressants. La rafale de huit conférence l’après midi, conférence de 20 minutes plus 5 minutes de questions auraient pu être difficile à encaisser mais les conférences étant intéressantes et les orateurs d’un bon niveau, tout est passé comme une lettre à la poste.

Étonnamment, les ateliers et sprint du dimanche matin furent même plus productif que ce à quoi je m’attendais. Et l’organisation ‘au dépoté’ (en tout cas ce n’étais pas indiqué dans le programme) d’un atelier d’initiation était une excellente idée. Cela confirme à nouveau mon sentiment qu’il y a une forte demande concernant des initiations à Django et que c’est des choses que les ‘anciens’ de la communauté, les sachants, doivent mettre en place pour partager leur connaissance et jouer le rôle de ‘mentor’.

Alors effectivement, il y a, à mon sens des choses améliorables au niveau logistique, comme l’approvisionnement en jus de fruit / café / eau ou le repas/soirée du samedi soir, mais ce n’est pas si grave que cela (et on revient à mon premier point, le fait de s’intégrer dans un événement plus grand).

Les points positifs importants que je retiens de cette conférence sont :

  • avoir des conférences non totalement centré sur Django est une excellente chose. À Rennes il y avait une conf sur cherrypie et circus, à Toulouse une conf (différente de celle de Rennes) sur circus aussi et ça permet d’ouvrir un peu ses œillères.
  • Les ateliers débutants sont des choses à mettre en place. Se pose la question de les mettre en place dans des Djangocongs d’une taille plus importantes.
  • La soirée du samedi soir est un point très important, de mon point de vue. Les soirées jeux de plateau remportent mes suffrages, pour l’instant.
  • Sprint et ateliers le dimanche matin peuvent être efficaces. Peut-être que la solution est d’en décaler leur démarrage en prenant en compte le besoin de sommeil.

Ces Djangocon sont à mon sens un beau succès et j’ai vraiment été très heureux d’y être. Je profite de ce billet pour, à nouveau, remercier les organisateurs et les orateurs. (Et ce fut assez rigolo de se rendre compte qu’il y avait des ponts très intéressant entre les 2 djangocon Rennes et Toulouse, comme par exemple  une présentation de tastypie à Rennes, suivi d’un atelier Tastypie à Toulouse ).

 


flattr this!

 Posted by at 23:13
Nov 182012
 

Samedi 17 novembre c’était donc la première edition des DjangoBreizh, une rencontre django locale en bretagne organisé par Exirel (bon ok, je ne suis pas tout a fait breton et pourtant j’y étais mais j’étais une exception) Le programme se découpait ainsi :

  • matin conférence
  • début d’après midi LT
  • reste de l’après midi barcamp ou atelier d’initiation

Pour une première conf, et conf régionale qui plus est, je trouve que le public fut au rendez-vous. 27 personnes pour les conférences, c’est en effet une belle réussite. Pour l’occasion, la cantine numérique de Rennes avait prêté ses locaux toutes la journée, ce qui a permis de mettre en place les conférence du matin et l’atelier initiation du matin (les barcamps se passant à quelques dizaines de mettre à la maison des associations)

Ce que je retiens de cette rencontre régionale (hormis le fait qu’à rennes, il pleut tout le temps) c’est :

  • il peut être difficile d’avoir des conférenciers locaux, il suffit alors de les faire venir d’ailleurs (mais il y a eu un certain nombre de conférencier ‘du cru’ et ça fait plaisir)
  • la partie barcamp est une partie toujours très intéressante et qui fonctionne vraiment bien
  • l’atelier d’initiation était une première, jamais encore cela n’avait eu lieu dans une rencontre django. Le public était restreint (6 à 8 personnes) mais j’ai l’impression que c’est un format qui fonctionne et qui réponds à une vrai demande des gens, un vrai plus de cette édition bretonne, et qu’il faut, à mon avis, répliqué, à minima, dans les autres éditions régionales.
  • Lors des djangocong 2012, certains pensaient que les rencontres régionales allaient ‘faire se relâcher la pression sur la conférence nationale’. A priori, si je généralise à partir de l’exemple de cette première conférence régionale, c’est l’inverse qui va se passer. Les gens qui ‘goûtent’ aux rencontres django régionale, dés qu’ils apprennent qu’il y a des ‘grosses rencontres’, veulent absolument y aller.
  • Le soir c’était free style, une bonne partie des gens se sont retrouvés dans un bar à jeux pour siroter une bière en jouant à des jeu de plateau. Et ce fut excellent. Le format bire et jeu de plateau testé pour la première fois en 2011 montre encore une fois qu’il est un excellent format (voir le meilleur) en ce qui concerne les soirées post conférences (ou inter pour des confs de 2 jours).
  • J’avais peur que les rencontres régionales ne soient que des espèces de mini grandes djangocong, avec uniquement des ‘vieux’ djangonautes présents. Ce ne fut pas le cas et c’est tant mieux.

En résumé, ce fut une excellent première édition et j’ai hâte de voir ce que donnera la deuxième édtion (si il y en a une).

En tout cas merci à Exirel d’avoir organiser tout cela, à la cantine numérique de Rennes d’avoir participé à l’aventure des django en bretagne, aux auditeurs d’être venus faire des conférences de qualités et aux rennais d’avoir répondu présent.

Et à la semainse prochaine pour DjangoCassoulet à Toulouse !!!!! Espérons qu’il y aura des pains au chocolat !


flattr this!

 Posted by at 22:57
Aug 052012
 

Lors du Django Meetup Paris numéro 2 (qui a eu lieu dans les locaux de 20 minutes, merci à eux pour le prêt de la salle (et à Julien pour l’orga) ), un petit récap des confs EuroDjango a été fait par Samuel (le frère de David, et oui un Paccoud peut en cacher un autre!!). Apparemment un des sujets porteur des EuroDjango avait été le ‘web temps réel’ (ce que je déteste ce terme tiens … temps réel, ça a un sens.. ça ne veut pas juste dire un truc en mode connecté) et la mise en place de celui ci dans Django (et du fait que peut être notre framework adoré n’était pas super en avance sur ce sujet).

J’en ai profité pour donner mon avis sur la question. A savoir qu’à mon sens, les serveurs webs n’était pas fait du tout pour gérer des connexions en mode connecté. Parce qu’ils n’ont pas été prévu pour cela. Idem pour le cœur de django qui n’est pas fait pour garder des pools de sockets, des états par connexion clientes, etc etc …

Alors qu’à contrario il y a des frameworks (je pense à twistted mais pas seulement) ou des manières d’écrire des serveurs qui permettent de gérer proprement des communications en mode connectées.

Il me semblait donc logique de ‘sortir’ la partie websocket du cœur de Django pour qu’elle soit gérer par ‘autre chose’. Il me semble qu’à la fin de ma tirade explicative, quelqu’un m’a dit ‘ben ok, fait le’ (me demande même si ce n’est pas ce fourbe de n1k0)

Du coup, ben ayant eu un peu de temps, ces jours-ci, j’ai rapidement fait un proto merdique de test.

Le principe a été de prendre l’exemple de simple chat de Gevent-SocketIO et de le ‘transformer’ en une commande de management Django. La commande de management simulant un serveur de gestion des connexions socketIO des utilisateurs. Du coté django, on a une première vue qui demande de donner un nickname puis on se retrouve sur la fenêtre de chat (qui utilise socketIO) et on peut discuter avec les autres connectés. J’ai rajouté deux petits trucs, pour le plaisir, le fait d’avoir les 5 dernières lignes de discussion (ça se récupère par la partie WebSocket) et le nombre de user et lignes de discussions totales (s’affiche la première fois par la connexion HTTP classique, se met à jour par les WebSocket)

Il faut donc à un moment ou un autre, lier la partie DjangoWeb de la partie SocketIO. Comme ce n’est qu’un prototype pour m’amuser, je passe à la vue de chat une key généré aléatoirement, key que me renvoie le client JS à travers la websocket.

Bon, bien entendu, tout cela n’est qu’un prototype pour expliquer (avec du code) la manière dont je voyais les choses. Bien entendu bis, il faudrait ‘lier’ la partie Web classique et Websocket d’une meilleure façon, ne pas utiliser une commande de management brute de décoffrage, potentiellement  élaguer pas mal gevent-socketio pour enlever tout ce dont on n’aurait pas besoin, etc etc …

Mais voilà, j’avais juste envie de faire un test, d’en parler ici et de vous demander votre avis sur la question:)


flattr this!

 Posted by at 15:10

Orateurs, les rencontres django régionales ont besoin de vous !

L’un des résultats des discussions de la dernière DjangoCong fut de lancer l’idée de faire des DjangoCon régionales plus petites et qui permettraient de ne pas centraliser les attentes de toute la communauté sur un seul événement national. Et du coup d’éviter de générer de la frustration pour ceux qui n’ont pu acheter leurs billets [...]

Installation de virtualenvwrapper chez Alwaysdata

J’ai il y a quelques temps fait de multiples tests chez AD. Certains nécessitaient l’utilisation de paquet python non installé par défaut sur le serveur mutu AD. Du coup, j’ai voulu installer virtualenwrapper pour me simplifier la tache. Voici la méthode que j’ai utilisé. Je suis preneur de toute amélioration que vous pourriez me remonter [...]

Pony rider in the skyyyy… c’est le retour des djangocong YeeHa !!

Je vous préviens, tout de suite, j’aurais pu céder à la facilité et parsemer mon billet d’annonce d’image de petit poney rose, pour coller aux thèmes du poney, de django, de l’amour platonique qui anime tout ceux qui font du django ( #sharethelove nan ?? ha non pardon c’est pas la bonne conférence). Mais non, je [...]

Django-ratelimit-backend ne réglera pas vos problèmes de foie, mais de rate oui…

Deuxième édition de la django app du mois précédent, encore une fois sur le fil, alors que les citrouilles continuent à ricaner dans leurs coins. Ce mois-ci c’est django-ratelimit-backend, une des multiples apps de monsieur Brutasse (qui ne doit jamais dormir pour publier autant de truc…) 1- Où on le trouve, comment on l’installe, tout [...]

Sans lui, zinnia-rrivait pas. Lui qui ? Django Zinnia, la django app du mois précédent

Cela fait maintenant plusieurs mois que je n’arrive pas à rattraper le retard d’une django app du mois. J’ai donc décidé de suivre les conseils de ce cher daks et d’officialiser mon retard en parlant de Django app du mois précédent. Voici donc la première django app du mois précédent (et bon j’ai bien failli [...]

Des Geeks, de la bières, des crêpes et du Python, vive PyconFr à Rennes

(Note de l’auteur : ce billet a été écrit dans le TGV de retour, très tôt, à une heure ou les informaticiens ne devraient pas être réveillés… )   Ce week-end a eu lieu PyconFR. Et pour une fois, ce n’était pas à Paris, mais à Rennes. Moi qui suit pour avoir des events qui [...]

Django-Autocomplete, and all your requests will be complete, but be careful with the horn

Bon, je suis encore en retard pour la django app du mois de juillet, mais je m’améliore, je n’ai plus que 20 jours de retard. Espérons que la django app du mois d’aout soit à l’heure…. En attendant de voir si en août, à l’heure je serais, je vous propose de découvrir cette petite django-app [...]

Impostor, aucun rapport avec le courrier, la poste ou les gens de petite taille

Avec énormément de retard (non monsieur Daks, je ne vais pas renommer ma rubrique la django app du mois dernier) voici donc la django app du mois de juin. Ce mois-ci, enfin le mois dernier, je vais vous présenter Impostor une application que j’ai découvert au détour d’un tweet (de dzen je crois ) 1- [...]