gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:11:25 24 4
gpt4 key购买 nike

我很惭愧问这样的问题,但我已经尝试了几个小时了……看来我不能让我的 python 版本再做随机的事情了。更准确地说,它缺少模块 urandom .

首先,这里有一些关于我的系统的信息:

  • 操作系统版本: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 变量设置不正确,但我不知道如何解决这个问题。

最佳答案

好的,我想通了。我的终端中有一个脏哈希表。

解决方案:

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)。我认为这是由于之前通过 mac 端口安装了 python 2.3。

抱歉问题/快速回答:/

晚安!
阿诺

关于Python:无法导入 urandom 模块 (OS X),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com