0

在 Python3.3(bash,通过 macports 安装)中,我不明白本文末尾的代码错误。我做错了什么?我知道这是一个基本问题——我以为我已经明白了……

>>> import matplotlib
[removed - should not disturb (s. comments)]
>>> import matplotlib as plt           # (*)
>>> plt.pyplot.plot([1,2,3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'pyplot'
>>> 
>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3])
[<matplotlib.lines.Line2D object at 0x10370d210>]
>>> plt.show()
4

1 回答 1

1

您有拼写错误/错别字。您导入 matplotlib 并参考 maplotlib。然后看起来您尝试对模块进行 attr 访问以获取子模块。

为了回答评论中留下的问题,我将用扭曲的方式进行演示(因为我已经安装了它):

>>> import twisted
>>> twisted.web
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'web'
>>> import twisted.web
>>> twisted.web
<module 'twisted.web' from '/home/alex/lib/python2.7/site-packages/twisted/web/__init__.pyc'>
>>>

为了访问一个模块,您需要导入该模块,即使它是另一个包的一部分。

于 2013-09-22T16:59:48.657 回答