Python ImportError не может импортировать urandom с Ubuntu 12.04 обновления


обновлен Ubuntu до точного Pangolin (12.04), и случайный Python теперь сломан... Я подозреваю, что другие вещи тоже могут быть сломаны. Как исправить Python?

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

увы, бедный питон! Я знал его, Рэндома, модуль бесконечности. шутка, из наиболее вероятного хаоса. Он нес меня на его randint (а) тысячу раз, и теперь как отвратительно в моем рабочем пространстве это! Мой обработчик исключений поднимается на него.

edit работает в virtualenv

5 54

5 ответов:

Это твоя проблема?

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

кажется, вызвано запуском его в виртуальной среде, и есть работа вокруг.

кстати это был лучший результат в google.

у меня была такая же проблема при обновлении до 12.10, а при обновлении до 16.04 (в 16.04 сообщение было no module named datetime.)

чтобы решить эту проблему, просто запустите virtualenv над той же установкой, и она сработала. Дайте ему --no-site-packages флаг для сохранения ваших модулей:

$ 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

так как у меня есть все мои virtualenvs в том же dir, я просто побежал:

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

Я получал эту же ошибку и исправил ее, просто повторно запустив virtualenv (например,virtualenv --no-site-packages ~/venv/myvirtualenv/).

другое решение-удалить pip, если вы установили его с помощью apt-get используйте wget за ним

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

а потом беги

python get-pip.py или sudo python get-pip.py Если вы не вошли в систему с корнем.

это работает для меня.

ладно, может он просто не настроен? Проверьте этой сайт, и посмотрите на настройка.