AttributeError:模块'numpy'没有属性'__version__'

ktj*_*989 8 python numpy python-3.x pandas

我今天更新了计算机,并在尝试导入熊猫时收到以下错误消息:

import pandas as pd        
AttributeError: module 'numpy' has no attribute '__version__'
Run Code Online (Sandbox Code Playgroud)

我尝试了以下链接中的建议:

  1. AttributeError:“模块”对象没有属性“ __version__”
  2. AttributeError:“模块”对象没有属性“ __version__”

除了numpy包之外,我没有任何文件名numpy.py。

我正在Windows 10中运行anaconda2,并创建了python 3.5虚拟环境。

以下是完整的错误消息:

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__'
Run Code Online (Sandbox Code Playgroud)

编辑:执行以下命令会产生错误

import numpy
print(numpy.__file__)
AttributeError: module 'numpy' has no attribute '__file__'
print(numpy.version.version)
AttributeError: module 'numpy' has no attribute 'version'
Run Code Online (Sandbox Code Playgroud)

Edit2:执行以下命令会给我以下错误:

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__'])
Run Code Online (Sandbox Code Playgroud)

Edit3:以下命令导致以下输出:

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>
Run Code Online (Sandbox Code Playgroud)

Sat*_*him 6

尝试这个

在Jupyter笔记本中,首先使用!pip卸载numpy卸载现有的numpy

然后安装它!pip install numpy。现在重新启动内核(Python Notebook)。它会工作。

  • 应该更新它以使用现代的“%pip install”魔法。在“pip”(和“conda”)中使用感叹号可能会导致问题。添加了“%pip”和“%conda”的现代魔法,以确保安装到正确的环境,而仅靠感叹号无法做到这一点。有关更多信息,请参阅[此处](https://discourse.jupyter.org/t/why-users-can-install-modules-from-pip-but-not-from-conda/10722/4?u=fomightez)现代的“%pip install”和“%conda install”魔术命令。 (3认同)

小智 6

您可能已将您的程序/脚本命名为“numpy”。我也有,然后我重命名了我的程序,然后它就可以工作了。发生这种情况是因为当您将程序命名为类似于模块时,程序和模块之间的导入属性会发生冲突

  • 这就是正在发生的事情 - statsmodels 有一个文件 statsmodels/compat/numpy.py ,对于 pandas 也有类似的 pandas\compat\numpy\__init__.py 。我认为它会导致这些问题 (2认同)

Kim*_*ece 4

conda 选择将 numpy 从 1.13.3 更新到 1.14.3 后就出现了这个问题。通过http://blog.rtwilson.com/conda-revisions-letting-you-rollback-to-a-previous-version-of-your-environment/中的过程恢复 numpy足以恢复功能,然后将版本固定在环境。