Ubuntu上的Python3在help()命令上给出错误

时间:2014-12-18 05:58:40

标签: python ubuntu python-3.x ubuntu-14.04 python-3.4

我在Ubuntu 14.04的python3 shell中使用了help() 我得到了这个输出 请帮忙,不知道什么是错的。

Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/_sitebuiltins.py", line 98, in __call__
import pydoc
File "/usr/lib/python3.4/pydoc.py", line 65, in <module>
import platform
File "/home/omega/platform.py", line 2, in <module>
print("System    : ",platform.uname().system)
AttributeError: 'module' object has no attribute 'uname'
>>> 

2 个答案:

答案 0 :(得分:2)

问题是platformhelp使用的stdlib模块的名称。通过使用与sys.path中的stdlib之前相同的名称创建自己的模块,您可以防止Python使用标准模块。

您自己的platform模块尝试使用同名的stdlib模块这一事实只会加剧问题。那不会起作用;该模块中的import platform只是导入自己。

解决方案是不要碰撞这样的名字。如果您想直接或间接使用该模块中的功能,请查看list of the standard modules,并且不要创建与其中任何名称相同的任何内容。

换句话说:将platform.py重命名为其他内容,或将其放入包中。

答案 1 :(得分:0)

File "/home/omega/platform.py", line 2, in <module>
print("System    : ",platform.uname().system)

这是问题,转到platform.py并修复它,它会没问题。它说, platform 没有任何名为 uname 的方法,你可能会错误输入。