Python:无法导入URADOM模块(OS X)

Python:无法导入URADOM模块(OS X),python,importerror,python-import,Python,Importerror,Python Import,我很不好意思问这样一个问题,但我已经试了几个小时了……看来我再也不能让我的python版本做随机的事情了。更准确地说,它缺少模块uradom 首先,以下是有关我的系统的一些信息: OSX版本:10.7.4 python版本:python 2.7.1 哪条python:/opt/local/bin/python 导入操作系统;操作系统: echo$PATH:/opt/local/bin:/opt/local/sbin:/usr/bin:/sbin:/usr/sbin:/sbin:/usr/loc

我很不好意思问这样一个问题,但我已经试了几个小时了……看来我再也不能让我的python版本做随机的事情了。更准确地说,它缺少模块
uradom

首先,以下是有关我的系统的一些信息:

  • OSX版本:10.7.4
  • python版本:python 2.7.1
  • 哪条python
    /opt/local/bin/python
  • 导入操作系统;操作系统
  • echo$PATH
    /opt/local/bin:/opt/local/sbin:/usr/bin:/sbin:/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
,我可以看到此文件需要URADOM:

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
>>随机导入
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py”,第47行,在
从操作系统导入urandom作为_urandom
ImportError:无法导入名称Uradom
有什么想法吗?乌拉多姆应该住在哪里?到目前为止,我一直在谷歌上搜索,但没有成功
看起来很多Ubuntu用户在virtualenv上都有这个问题,但我没有使用virtualenv,我也没有使用Ubuntu。我打赌我的路径、PYTHONPATH或ENV变量设置不正确,但我不知道如何解决这个问题。

好的,我找到了答案。 我的终端里有一个脏的哈希表

解决方案:

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(默认值,2012年4月19日00:55:09)
[GCC 4.2.1(基于苹果公司5658版本)(LLVM版本2335.15.00)]关于达尔文
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>随机输入
>>>导入操作系统;操作系统
请注意不同的python版本(之前是2.7.3和2.7.1)。我认为这是由于较早时通过mac端口安装了Python2.3

很抱歉提出了这个问题/快速回答:/

晚安

Arnaud

你好,Amaud,你是如何找到解决方案的?老实说,我有点急切地想要我能尝试的东西(2个多小时来调试这样一个荒谬的问题)。然后我想到了这个
hash
命令,我试过了,它成功了。恐怕我这里没有一个很棒的虫子追踪故事:/谢谢你发布这个!当它发生在构建过程中时,我完全被它难住了(无论如何我都不是Python高手),非常感谢。:-)拯救了我的理智。非常感谢。