I am trying to use numpy with ironpython.
When I follow the example in the ironclad documentation, running in a console window, I get this error.
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
However if I run the same example from an IronPython console within eclipse it seem to work.
>>> 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 stati开发者_Python百科c 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.])
>>>
What is eclipse or PyDev doing differently that is causing this to run?
ipy.exe -X:Frames
should work, as _getframe
support is optional in IronPython.
精彩评论