我很惭愧地问出这样的问题,但我已经尝试了几个小时……似乎我无法让我的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
有任何想法吗?urandom应该在哪里?我已经通过谷歌搜索了很久,但至今没有成功。
看起来许多Ubuntu用户在使用virtualenv时都遇到了这个问题,但我没有使用virtualenv,也不在Ubuntu上。我猜测我的PATH、PYTHONPATH或ENV变量没有正确设置,但我不知道如何解决。