String comparaison here. Is it wise ? Is it always the same as the meaning full? (see https://github.com/ipython/ipython/pull/2831 for background for example).

```
In [1]: '1.0.0' < '10.0.0'
Out[1]: True

In [2]: '2.0.0' < '10.0.0'
Out[2]: False
```