Python: не удается импортировать модуль urandom (OS X)
Мне очень стыдно задавать такой вопрос, но я пытаюсь уже пару часов. already...it кажется, я больше не могу заставить свою версию python делать случайные вещи. Точнее, отсутствует модуль urandom
.
Во-первых, вот некоторые сведения о моей системе:
- версия OSX: 10.7.4
- версия python: Python 2.7.1
-
which python
:/opt/local/bin/python
-
import os; os
:<module 'os' from '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc'>
-
echo $PATH
:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
-
$ENV
и$PYTHONPATH
являются пустой
vim /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py
, я вижу, что этот файл требует urandom:
line 47: from os import urandom as _urandom
Итак, вполне логично, что у меня есть неудачи, когда я пытаюсь бежать:
>>> import random
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 47, in <module>
from os import urandom as _urandom
ImportError: cannot import name urandom
Есть идеи? Где должен жить урандом? До сих пор я безуспешно искал информацию в интернете.
Кажется, у многих пользователей Ubuntu была эта проблема с virtualenv, но я не использую virtualenv, и я не на Ubuntu. Моя ставка заключается в том, что каким-то образом мой путь, или PYTHONPATH, или переменные ENV не являются установите правильно, но я понятия не имею, как это решить.
1 ответ:
Хорошо, я понял это. У меня в терминале была грязная хэш-таблица.
Решение:
hash -r # will erase the currently used hash table
Как только это было сделано, я снова запустил python и получил:
Python 2.7.3 (default, Apr 19 2012, 00:55:09) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> import os; os <module 'os' from '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc'>
Обратите внимание на другую версию python (2.7.3 против 2.7.1 ранее). Я думаю, что это связано с более ранней установкой python 2.3 через Mac-порт.
Извините за вопрос / быстрый ответ : /
Спокойной ночи!
Арно