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.
4 comments
Trackbacks/Pingbacks
- 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 ...
Il faut remettre les mêmes options que lors de la création du virtualenv (–python et –distribute).
Par contre je suppose que tu veux dire
--setuptools
car distribute est le comportement par défaut dans les derniers virtualenvs.Ç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 :).
Explication intéressante et toujours la bienvenue.