Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AttributeError: module 'numpy' has no attribute 'matlib' [duplicate]

I recently started coding in Python. In the beginning of my scripts I always have the following import: import numpy as np.

In one of my scripts, I use np.matlib.repmat function. It used to work ok, however recently it fails to run showing the following error:

 AttributeError: module 'numpy' has no attribute 'matlib'

I searched SO for this problem, and it looks like the error like this arises if one has a script called numpy.py in his working directory or if the installed version is different and does not contain the called module.

I didn't name any file numpy.py. I also found out that after I call:

 from numpy import matlib as mb

I can use mb.repmat. Therefore, my numpy module does contain matlib module. Can someone hint me, why I cannot call np.matlib?

like image 329
Mikhail Genkin Avatar asked Apr 19 '18 17:04

Mikhail Genkin


1 Answers

This was already answer here.

This is because numpy.matlib is an optional sub-package of numpy that must be imported separately. When you import just numpy without the sub-package matlib, then Python will be looking for .matlib as an attribute of the numpy package. This attribute has not been assigned to numpy without importing numpy.matlib

like image 77
TwistedSim Avatar answered Sep 30 '22 20:09

TwistedSim