Résoudre l’erreur Python ImportError: cannot import name urandom

Vous utilisez virtualenv, et soudainement après activation, impossible de lancer la moindre instruction Python sans que ce dernier ne s’exclame ImportError: cannot import name urandom.

Je ne saurais pas vous dire pourquoi c’est arrivé, mais voici un moyen de le réparer:

virtualenv /chemin/absolu/vers/le/dossier/de/l/environnement/virtuel.

Par exemple, si vous utilisez virtualenv wrapper:

virtualenv /home/sam/.virtualenvs

Ca va resetter l’environnement virtuel, et tout rentrera dans l’ordre. Attention cependant, si vous avez un interpretteur different, je ne sais pas si il faut le préciser avec --python ou pas.

No related posts.

flattr this!

4 comments

  1. Il faut remettre les mêmes options que lors de la création du virtualenv (–python et –distribute).

  2. Par contre je suppose que tu veux dire --setuptools car distribute est le comportement par défaut dans les derniers virtualenvs.

  3. Brutasse

    Ça vient de la dernière mise à jour de Python qui ajoute la “hash randomization”. Ça touche à os.urandom, d’où l’erreur d’import. Recréer le virtualenv est effectivement la solution, de toute façon ils sont jetables :).

  4. Explication intéressante et toujours la bienvenue.

Trackbacks/Pingbacks

  1. Sortir de virtualenv – Exit | Sam & Max: Python, Django, Git et du cul - [...] liens sur virtualenv: - Résoudre l’erreur Python ImportError: cannot import name urandom - Travailler moins pour gagner plus, en ...

Flux RSS des commentaires

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Jouer à mario en attendant que les autres répondent