代码之家  ›  专栏  ›  技术社区  ›  Boris Gorelik

“import numpy”会导致一个Eclipse工作区出错,但不会导致另一个Eclipse工作区出错。

  •  1
  • Boris Gorelik  · 技术社区  · 14 年前

    每当我尝试在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
    

    然而,在vanila 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(如 this question 但是问题仍然存在

    在SO上描述了另外两个类似的问题。( this this 但这两个问题都是用Ironpython观察到的,我在提供的几个答案中找不到任何可以使用的地方。

    编辑 AS suggested by dutt ,我检查了两个测试工作区(工作区和不工作区)中的首选项->pydev->解释器python->库。故障工作区在系统libs c:\python26\lib\site packages\numpy-1.5.0-py2.6-win32.egg中包含以下库。另一方面,工作区没有列出任何 麻木的 系统库列表中的库。我已经从“不工作”工作区的列表中删除了上述库。

    2 回复  |  直到 12 年前
        1
  •  3
  •   dutt    14 年前

    (假设您正在使用pydev)在preferences->pydev->解释器python->libaries中查找,您可能需要在其中添加numpy。应该位于python/lib/site packages文件夹中。

        2
  •  2
  •   NKN    12 年前

    检查您的python版本和numpy版本。它们应该是相同的。 它发生在我身上,我解决了它重新安装了我的python和numpy for win32,尽管我有一台64位的机器。