numpy不能直接调用函数库

时间:2018-03-07 02:34:12

标签: python python-2.7 numpy

我在python 2.7上使用ubuntu 16.04。如下面的代码所述,我无法使用np.matlib中的任何函数,但在导入后,可以使用它。有什么方法可以解决问题吗?提前谢谢!

$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np 
>>> a = np.matlib.repmat([1,1],1,2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'matlib'
>>> import numpy.matlib as npm
>>> a = npm.repmat([1,1],1,2)
>>> print a
[[1 1 1 1]]
>>>

我认为这是一个图书馆冲突,如果是这样,我怎么知道哪些冲突?

2 个答案:

答案 0 :(得分:1)

导入包时,Python导入系统不会自动加载包的子模块。 NumPy的__init__.py会自动加载普通import numpy上的大多数NumPy子模块,但不包括numpy.matlib

在程序中的某些代码明确导入numpy.matlib之前,numpy.matlib将不存在,并且其内容将无法访问。

答案 1 :(得分:0)

import numpy.matlib as npm

这不会在名称空间中引入名称numpy.matlib;它只引入了名称npmPython 2.7 doc reference

如果您希望模块通过numpy.matlibnpm同时可用,则可以按照这种方式定义,即npm = numpy.matlib