导入错误:无法导入名称 add_newdocs
我在使用Windows 8.1和Python 2.7,并且安装了numpy1.8
。可是每次我想要import numpy
的时候,都会出现一个错误:ImportError: cannot import name add_newdocs
。
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\numpy\__init__.py", line 153, in <module>
from . import add_newdocs
ImportError: cannot import name add_newdocs
我查看了C:\Python27\Lib\site-packages\numpy
,发现add_newdocs
确实存在。
有人能告诉我该怎么解决这个问题吗?
7 个回答
我在升级Ubuntu之后遇到了这个问题。后来我通过更新 numpy
来解决了它:
sudo pip install numpy --upgrade
我遇到了同样的错误;在我的情况下,可能是因为路径中有两个python目录(一个是普通的python,另一个是anaconda的python)——这两个目录里都有numpy。前者是通过
sys.path.insert(0,'/usr/local/lib/python2.7/dist-packages')
替换成这个:
site.addsitedir('/usr/local/lib/python2.7/dist-packages')
出于某种原因,这解决了我的问题。
不过,现在我无法重现最初的“add_newdocs”错误了。正如这里所说,使用...insert(0,..)会有问题,但...insert(1,..)也会出错...
在你保存 Python 的地方,通常是 ...\Lib\site-packages 这个文件夹。
在 "site-packages" 文件夹里,删除名为 "numpy" 的文件夹。
然后在命令行中,切换到你保存 python.exe 的路径。
比如我这边是:在命令行输入 "cd /d D:\anaconda",然后按回车。
接着再输入 "pip install -U numpy",然后按回车。
经过 3 个小时的搜索,终于找到这个方法对我有效,真心希望这个方法也能帮到你。
我遇到过类似的问题。首先,确保你可以在终端的 Python 环境中顺利导入 numpy,而不会出现导入错误。如果不能,那可能需要彻底重新安装 numpy(或者有些帖子提到的,你的 add_newdocs 的 pyc 文件可能过时了,需要删除,然后会自动重新生成,这样问题就解决了)。
另外,如果在终端中导入是可以的,那么(根据我一次遇到这个问题的经验)可能是同一个文件夹里的文件名出了问题。把导入 numpy 的文件移出那个文件夹就解决了这个问题。
如果以上都不是,那我就没有其他想法了。
如果你在用Anaconda的话,直接重新安装就行了。你可以用这个命令来安装NumPy:conda install numpy
。我就是这样解决的。