18
votes

I updated my computer today, and am getting the following error message when I attempt to import pandas:

import pandas as pd        
AttributeError: module 'numpy' has no attribute '__version__'

I have tried the suggestions from the following links:

  1. AttributeError: 'module' object has no attribute '__version__'
  2. AttributeError: 'module' object has no attribute '__version__'

I do not have any files names numpy.py other than the numpy package.

I am running anaconda2 within windows 10, and have created a python 3.5 virtual environment.

Following is the full error message:

Python 3.5.5 | packaged by conda-forge | (default, Apr  6 2018, 16:03:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\j267156\AppData\Local\Continuum\anaconda2\envs\sf35\lib\site-packages\pandas\__init__.py", line 23, in <module>
    from pandas.compat.numpy import *
  File "C:\Users\j267156\AppData\Local\Continuum\anaconda2\envs\sf35\lib\site-packages\pandas\compat\numpy\__init__.py", line 10, in <module>
    _np_version = np.__version__
AttributeError: module 'numpy' has no attribute '__version__'

Edit: performing the following commands gives an error

import numpy
print(numpy.__file__)
AttributeError: module 'numpy' has no attribute '__file__'
print(numpy.version.version)
AttributeError: module 'numpy' has no attribute 'version'

Edit2: perfoming the following commands gives me the following errors:

import numpy as np
np.zeros(5)
#AttributeError: module 'numpy' has no attribute 'zeros'
vars(np).keys()
#dict_keys(['__name__', '__package__', '__spec__', '__loader__', '__doc__', '__path__'])

Edit3: the following commands result in the following output:

import numpy as np    
In [7]: np.__path__
    Out[7]: _NamespacePath(['C:\\Users\\j267156\\AppData\\Local\\Continuum\\anaconda2\\envs\\sf35\\lib\\site-packages\\numpy'])

    In [8]: np.__loader__
    Out[8]: <_frozen_importlib_external._NamespaceLoader at 0x2033a3c8080>
5
what does import numpy; print(numpy.__file__) say? - Anthony Sottile
as well you can try import numpy; numpy.version.version Out[1]: '1.14.3' - NaN
@AnthonySottile - I get this message: ----> 1 print(numpy.__file__) AttributeError: module 'numpy' has no attribute 'file' - ktj1989
@NaN I get this response ----> 1 numpy.version.version AttributeError: module 'numpy' has no attribute 'version' - ktj1989
Try ... import numpy as np .... errors such as ... module 'numpy' has no attribute 'xxx' seem to be associated with errors in installation - NaN

5 Answers

12
votes

Try this

In Jupyter notebook first uninstall the existing numpy by using !pip uninstall numpy.

Then install it !pip install numpy. Now restart the kernel(Python Notebook). It will work.

6
votes

You may have named your program/script 'numpy'. I also had that then i renamed my program and then it works. It happens because when you name your program similar to a module the import attribute clashes between programs and modules

4
votes

Just had this issue after conda chose to update numpy from 1.13.3 to 1.14.3. Reverting numpy via procedure in http://blog.rtwilson.com/conda-revisions-letting-you-rollback-to-a-previous-version-of-your-environment/ sufficed to recover functionality, followed by pinning the version in the environment.

0
votes

Have you tried this:

pip uninstall -y numpy
pip uninstall -y setuptools
pip install setuptools
pip install numpy
0
votes

I had this error today while I was running a "brew upgrade" on MacOS and upgrade failed on matplotlib.

<TLDR/>

I run pip (v 2.x) and pip3 installed. It turned out I had not installed numpy with pip3. I ran

pip3 install numpy

brew upgrade then ran successfully.