Python ImportError无法导入urandom自Ubuntu 12.04升级

时间:2012-04-28 19:28:26

标签: python ubuntu random

将Ubuntu升级为Precise Pangolin(12.04),而Python的Random现已被破坏......我怀疑其他事情也可能被打破。我该如何修复Python?

    File "/usr/lib/python2.7/random.py", line 47, in <module>
    from os import urandom as _urandom
ImportError: cannot import name urandom

唉,可怜的Python!我认识他,随机,一个无限的模块 开玩笑,最可能的混乱。他在他的randint上承受了我()a 一千次,现在在我的工作空间里它是多么令人厌恶! 我的异常处理程序在它上升。

编辑在virtualenv中运行

5 个答案:

答案 0 :(得分:45)

这是你的问题吗?

https://bugs.launchpad.net/ubuntu/+source/python-defaults/+bug/989856

似乎是在虚拟环境中运行它引起的,并且有一个解决方法。

BTW这是google的最佳结果。

答案 1 :(得分:36)

升级到12.10时升级到16.04时遇到同样的问题(在16.04中,消息为no module named datetime。)

要解决它,只需在同一个安装上运行virtualenv就可以了。给它--no-site-packages标志以保存模块:

$ virtualenv --no-site-packages ~/lib/virtualenv/netunong
Overwriting /home/adam/lib/virtualenv/netunong/lib/python2.7/site.py with new content
New python executable in /home/adam/lib/virtualenv/netunong/bin/python
Installing distribute.....<skippping dots, of course>.......done.
Installing pip................done.
Overwriting /home/adam/lib/virtualenv/netunong/bin/activate with new content
Overwriting /home/adam/lib/virtualenv/netunong/bin/activate_this.py with new content

由于我将所有的virtualenvs放在同一个目录中,我只是跑了:

$ ls | xargs -I{} virtualenv  --no-site-packages {}

答案 2 :(得分:7)

我收到同样的错误并通过重新运行virtualenv(例如virtualenv --no-site-packages ~/venv/myvirtualenv/)来修复它。

答案 3 :(得分:1)

另一个解决方案是在使用apt-get安装pip时删除pip 使用wget来获取它

wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py

然后运行

如果您没有使用root登录,请

python get-pip.pysudo python get-pip.py

这对我有用。

答案 4 :(得分:0)

好吧,也许它只是没有配置?查看this网站,然后查看配置部分。