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

标签 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'
>>> 

最佳答案

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

您自己的 platform 模块尝试使用同名的 stdlib 模块这一事实只会使问题更加复杂。那是行不通的;该模块内的导入平台只是导入自身。

解决方案是不要像这样冲突名称。看list of the standard modules ,如果您想直接或间接使用该模块的功能,请勿创建与其中任何一个同名的任何内容。

换句话说:将您的 platform.py 重命名为其他名称,或者将其放入包中。

关于Ubuntu 上的 Python3 在 help() 命令上出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27540098/

相关文章:

python - 连续大写字母正则表达式

bash - 通过 dpkg-query 安装缺失包的脚本

Ubuntu 15.04上的Python环境

python - 提高将 Lab 颜色列表映射到第二个 Lab 颜色列表的速度

arrays - 在python中将stdin行转换为 "float/int"数组的更简单方法

python-3.x - 尝试在 PyQt5 中的 pyqtgraph plotwidget 中获取带有坐标显示的光标

python - 如何检查一行是否是 python 中的有效函数调用?

python - 为 Travis 构建同时安装 Python 和 R?

python - OpenCV 无法在 Linux 上从超过 8 个网络摄像头进行捕获

java - 类似于 Ubuntu 中的环境变量