我很惭愧提出这样的问题,但我已经尝试了几个小时......似乎我不能让我的 python 版本再做随机的事情了。更准确地说,它缺少模块urandom
。
首先,这里有一些关于我的系统的信息:
- OSX 版本:10.7.4
- 蟒蛇版本: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 变量设置不正确,但我不知道如何解决这个问题。