web-dev-qa-db-fra.com

Python ImportError ne peut pas importer urandom Depuis la mise à niveau vers Ubuntu 12.04

Ubuntu amélioré à Precise Pangolin (12.04), et Python's Random est maintenant cassé ... Je suppose que d'autres choses pourraient être cassées aussi. Comment puis-je réparer Python?

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

Hélas, pauvre Python! Je le connaissais, au hasard, un module de plaisirs infinis .__, de chaos le plus probable. Il m'a ennuyé mille fois sur son randint (), et maintenant, à quel point il est abhorré dans mon espace de travail!

edit Running dans virtualenv

54
xxjjnn

Est-ce votre problème?

https://bugs.launchpad.net/ubuntu/+source/python-defaults/+bug/989856

Cela semble être causé par son exécution dans un environnement virtuel et il y a une solution de contournement.

BTW c'était le meilleur résultat dans google.

45
Adam Cadien

J'ai eu le même problème lors de la mise à niveau vers 12.10 et lors de la mise à niveau vers 16.04 (dans le 16.04, le message était no module named datetime.)

Pour le résoudre, virtualenv a été exécuté sur la même installation et cela a fonctionné. Donnez-lui le drapeau --no-site-packages pour conserver vos modules:

$ virtualenv --no-site-packages ~/lib/virtualenv/netunong
Overwriting /home/adam/lib/virtualenv/netunong/lib/python2.7/site.py with new content
New python executable in /home/adam/lib/virtualenv/netunong/bin/python
Installing distribute.....<skippping dots, of course>.......done.
Installing pip................done.
Overwriting /home/adam/lib/virtualenv/netunong/bin/activate with new content
Overwriting /home/adam/lib/virtualenv/netunong/bin/activate_this.py with new content

Depuis que j'ai tous mes virtualenvs dans le même répertoire, je viens de courir:

$ ls | xargs -I{} virtualenv  --no-site-packages {}
36
brandizzi

J'obtenais cette même erreur et je l'ai corrigé simplement en relançant virtualenv (par exemple, virtualenv --no-site-packages ~/venv/myvirtualenv/).

7
jbarham

Une autre solution consiste à supprimer pip si vous l’avez installé avec apt-get Utilisez wget pour le récupérer.

wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py

puis courir

python get-pip.py ou Sudo python get-pip.py si vous n'êtes pas connecté avec root.

Cela a fonctionné pour moi.

1
Rai Ehtisham

Ok, peut-être que ce n'est tout simplement pas configuré? Vérifiez this site et consultez la section Configuration de

0
SuperPrograman