Подтвердить что ты не робот

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

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

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

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

edit Запуск в virtualenv

4b9b3361

Ответ 2

У меня была такая же проблема при обновлении до 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 в одном и том же каталоге, я просто побежал:

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

Ответ 3

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

Ответ 4

Другое решение - удалить 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, если вы не вошли в систему с помощью root.

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

Ответ 5

Хорошо, может быть, он просто не настроен? Проверьте этот сайт и посмотрите раздел Конфигурирование.