更新电脑后导入pandas报错:module 'numpy' has no attribute '__version__'
AttributeError: module 'numpy' has no attribute 'version' when importing pandas post system update
今天更新完Windows 10电脑后,我在自己用Anaconda2创建的Python 3.5虚拟环境里导入pandas时,突然触发了这个错误:
import pandas as pd AttributeError: module 'numpy' has no attribute '__version__'
我已经排查过本地没有和numpy重名的numpy.py文件,也尝试过一些常见的解决方案,但都没能解决问题。
完整的报错回溯信息如下:
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__'
我做了几次补充测试,结果都不太正常:
- 直接导入numpy后尝试获取基本属性全报错:
import numpy print(numpy.__file__) # AttributeError: module 'numpy' has no attribute '__file__' print(numpy.version.version) # AttributeError: module 'numpy' has no attribute 'version'
- 尝试调用numpy的基础函数也失败,查看模块属性只有寥寥几个:
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__'])
- 查看numpy的路径和加载器信息:
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>
看起来numpy模块好像没有被正确加载,有没有大佬能帮我解决这个问题?
内容的提问来源于stack exchange,提问作者ktj1989




