“在一个Eclipse工作区中导入numpy时出现错误,而在另一个工作区中却没有”

2 投票
2 回答
7000 浏览
提问于 2025-04-16 05:25

每次我在新安装的Eclipse和Pydev中尝试导入numpy时,都会遇到以下错误:

Traceback (most recent call last):
  File "Q:\temp\test.py", line 1, in <module>
    import numpy
  File "C:\Python26\lib\site-packages\numpy\__init__.py", line 132, in <module>
    import add_newdocs
  File "C:\Python26\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
    from lib import add_newdoc
  File "C:\Python26\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
    from type_check import *
  File "C:\Python26\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python26\lib\site-packages\numpy\core\__init__.py", line 13, in <module>
    import defchararray as char
  File "C:\Python26\lib\site-packages\numpy\core\defchararray.py", line 23, in <module>
    from numpy.core.multiarray import _vec_string
ImportError: cannot import name _vec_string

不过,在普通的Python控制台和IPython中,导入是成功的。

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>>

Q:\Groups\Bioinformatics\HPLCautomatization\autohplc>ipython
Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.

IPython 0.10 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [2]: import numpy

更复杂的是,在另一个Eclipse工作区,这个导入是正常的。重启Eclipse也没有帮助。我还尝试在“首选项->Python->解释器->Python”中重新配置解释器(就像这个问题提到的那样),但问题依然存在。

在Stack Overflow上还有两个类似的问题(这个这个),但它们都是在IronPython中出现的,我在提供的少数答案中找不到任何可以用的解决办法。

编辑 根据dutt的建议,我检查了两个测试工作区(一个正常,一个不正常)中的“首选项->Pydev->解释器Python->库”。出现问题的工作区包含了以下库:C:\Python26\lib\site-packages\numpy-1.5.0-py2.6-win32.egg。而正常的工作区在其系统库列表中没有列出任何numpy库。我已经从不正常的工作区中移除了上述库。

2 个回答

2

检查一下你安装的Python和NumPy的版本,它们应该是相同的。之前我也遇到过这个问题,最后我通过重新安装Python和NumPy来解决的,虽然我的电脑是64位的,但我安装的是win32版本。

3

(假设你在用PyDev)去设置里找一下,路径是:偏好设置 -> Pydev -> 解释器 -> Python -> 库,你可能需要在这里添加NumPy。它应该在你的python/lib/site-packages文件夹里。

撰写回答