Café au Miel

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 15 avril 2010

How to install dbus-python in a virtualenv ?

It's simple ! But hey, I haven't post for months...

Grab the sources' last version (0.83.1 at the moment) from the freedesktop site :

$ wget http://dbus.freedesktop.org/releases/dbus-python/dbus-python-0.83.1.tar.gz

Then extract the archive and cd into the extracted folder :

$ tar -xvzf dbus-python-0.83.1.tar.gz
$ cd dbus-python-0.83.1/

Run the configure script with the prefix option set to virtualenv folder, e.g for my testenv virtual environment it would be /home/myself/.virtualenvs/testenv :

$ ./configure --prefix /path/to/your/virtualenv

Finally, compile&install with the classic combo make; make install :

$ make
$ make install

You can test if the installation was successful but I have no doubts !

$ python
>>> import dbus
>>> dbus.__version__
'0.83.1'

However, if you get the following, something didn't happen properly...

>>> import dbus
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named dbus

Note that due to the use of a virtual environment it's not necessary to run make install as a privileged user.

Resources :

The end.

mardi 27 octobre 2009

Une nouvelle version de maintenance pour Python 2.6

C'est en effet la quatrième version de maintenance de la branche 2.6 de Python qui a été publiée ce week-end (1) après un cycle de développement particulièrement court (23 jours écoulés depuis la publication de la version 2.6.3 le 2 octobre 2009).
Celle-ci n'apporte pas de nouvelle fonctionnalité mais adresse plusieurs bugs jugés critique par l'équipe de développeurs (2). Pour l'essentiel il s'agit de corrections apportées à la bibliothèque standard de python. On remarquera en particulier la réparation de la régression introduite à la version 2.6.3 dans le module distutils qui empêchait l'installation de modules à l'aide de l'outil setuptools.
On retrouve aussi une correction au module intégré (Builtin) marshal. Pour mémoire ce module assure la sérialisation (et la dé-sérialisation) de valeur python au format binaire (3), son usage est réservé à des situations très particulières, les modules pickle et shelves étant bien plus efficaces et adaptés pour la persistance de données.
C'est donc à une nouvelle version utile bien que sans surprise à laquelle nous avons affaire. La mise à jour est évidement recommandée, ne serait-ce que pour pouvoir à nouveau exploiter pleinement le Python Packages Index (4).

(1) : http://python.org/download/releases/2.6.4/
(2) : http://python.org/download/releases/2.6.4/NEWS.txt
(3) : http://docs.python.org/library/marshal.html
(4) : http://pypi.python.org/pypi