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

2024-04-19 08:56:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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'
>>> 

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

这就是问题所在,请转到平台.py修好了,就没事了。它说,platform没有任何名为uname的方法,您可能输入错误。你知道吗

问题是^{}help使用的stdlib模块的名称。通过创建一个与您的sys.path中stdlib之前出现的模块同名的模块,您就阻止了Python使用标准模块。你知道吗

您自己的platform模块试图使用同名的stdlib模块,这一事实加剧了问题。这是行不通的;模块中的import platform只是导入自身。你知道吗

解决方法是不要像这样碰撞名称。看看list of the standard modules,如果您想直接或间接地使用该模块中的功能,请不要创建任何与它们同名的东西。你知道吗

换言之:将platform.py重命名为其他内容,或者将其放入包中。你知道吗

相关问题 更多 >