在 Python 2 中我无法导入random
。错误表明 OS 函数未实现,但它确实列出了该函数。
操作系统是内核为 3.14.79-1-ARCH 的 Arch Linux,服务器是基于 arm 的 cubox-i。
# python2
Python 2.7.13 (default, Apr 24 2017, 20:01:05)
[GCC 6.3.1 20170306] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/random.py", line 885, in <module>
_inst = Random()
File "/usr/lib/python2.7/random.py", line 97, in __init__
self.seed(x)
File "/usr/lib/python2.7/random.py", line 113, in seed
a = long(_hexlify(_urandom(2500)), 16)
OSError: [Errno 38] Function not implemented
猜测缺少依赖项,有什么线索吗?
在运行 arch 的 x86 设备上执行相同操作也没有问题。使用 Python 3
导入也正常。random
答案1
通过降级到 python2-2.7.13-1 解决了这个问题。不确定这是包装问题还是与这个东西必须运行的旧内核不兼容。