Ironclad / Numpy导入错误,但在eclipse控制台中有效

时间:2010-02-15 19:50:11

标签: eclipse ironpython

我正在尝试使用numpy和ironpython。

当我按照铁定文档中的示例,在控制台窗口中运行时,我收到此错误。

C:\>ipy
IronPython 2.6 (2.6.10920.0) on .NET 2.0.50727.3603
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import ironclad
>>> dir()
['__builtins__', '__doc__', '__name__', 'ironclad', 'sys']
>>> sys.path
['.', 'C:\\', 'C:\\', 'C:\\Program Files\\IronPython 2.6\\Lib', 'C:\\Program Files\\IronPython 2.6\\DLLs', 'C:\\Program Files\\IronPython 2.6', 'C:\\Program Files\\IronPython 2.6\\lib\\site-packages']
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\__init__.py", line 130, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\__init__.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\add_newdocs.py", line 9, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\add_newdocs.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\__init__.py", line 4, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\__init__.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\type_check.py", line 8, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\type_check.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\core\__init__.py", line 34, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\core\__init__.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\testing\__init__.py", line 12, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\testing\__init__.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\testing\numpytest.py", line 8, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\testing\numpytest.py
AttributeError: 'module' object has no attribute '_getframe'
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\__init__.py", line 130, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\__init__.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\add_newdocs.py", line 9, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\add_newdocs.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\__init__.py", line 4, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\__init__.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\type_check.py", line 8, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\lib\type_check.py
File "C:\Program Files\IronPython 2.6\lib\site-packages\numpy\core\__init__.py", line 27, in C:\Program Files\IronPython 2.6\lib\site-packages\numpy\core\__init__.py
NameError: global name 'numeric' is not defined

但是,如果我在eclipse中从IronPython控制台运行相同的示例,它似乎可以工作。

>>> import sys; print('%s %s' % (sys.executable or sys.platform, sys.version))
C:\Program Files\IronPython 2.6\ipy.exe 2.6.0 (IronPython 2.6 (2.6.10920.0) on .NET 2.0.50727.3603)
C:\Program Files\IronPython 2.6\Lib\xmllib.py:1: DeprecationWarning: The xmllib module is obsolete.  Use xml.sax instead.
  """A parser for XML, using the derived class as static DTD."""
>>> import ironclad
>>> dir()
['__builtins__', 'ironclad', 'sys']
>>> sys.path
['C:\\Program Files\\pythonxy\\eclipse\\plugins\\org.python.pydev_1.5.0.1251989166\\PySrc', '.', 'U:\\Python', 'U:\\Python', 'C:\\Program Files\\IronPython 2.6\\Lib', 'C:\\Program Files\\IronPython 2.6\\DLLs', 'C:\\Program Files\\IronPython 2.6', 'C:\\Program Files\\IronPython 2.6\\lib\\site-packages']
>>> import numpy
>>> x = numpy.zeros(5)
>>> x
array([ 0.,  0.,  0.,  0.,  0.])
>>> 

eclipse或PyDev做什么不同导致它运行?

1 个答案:

答案 0 :(得分:5)

ipy.exe -X:Frames应该有效,因为在IronPython中_getframe支持是可选的。