Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IronPython: import random fails in IronPython Interactive

This fails in IronPython Interactive inside Visual Studio 2010:

» import random
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named random

The same works fine in IronPython code in Visual Studio. It also works fine if I launch ipy.exe inside a Windows command prompt. What is the problem with IronPython Interactive and import? How do I fix Python Interactive so that it can import Python modules?

sys.path in IronPython Interactive gives this:

» import sys
» sys.path
['.',
 'C:\\PROGRAM FILES (X86)\\MICROSOFT VISUAL STUDIO 10.0\\COMMON7\\IDE\\EXTENSIONS\\MICROSOFT\\IRONSTUDIO\\0.4\\Lib',
 'C:\\PROGRAM FILES (X86)\\MICROSOFT VISUAL STUDIO 10.0\\COMMON7\\IDE\\EXTENSIONS\\MICROSOFT\\IRONSTUDIO\\0.4\\DLLs']

sys.path in ipy.exe on Windows command prompt gives this:

>>> import sys
>>> sys.path
['.',
 'C:\\Users\\MyName\\Desktop',
 'C:\\Program Files (x86)\\IronPython 2.7\\Lib',
 'C:\\Program Files (x86)\\IronPython 2.7\\DLLs',
 'C:\\Program Files (x86)\\IronPython 2.7',
 'C:\\Program Files (x86)\\IronPython 2.7\\lib\\site-packages']

I am using IronPython 2.7, Visual Studio 2010 and Windows 7 64-bit.

like image 520
Ashwin Nanjappa Avatar asked May 22 '11 02:05

Ashwin Nanjappa


1 Answers

As you can see sys.path directories are different;
I suspect random module is implemented in IronPython.Modules.dll, then you should check if such dll is present in the paths of IronPython interactive.

If it's present, the problem is another and I don't know what could be...

otherwise in Ironpython interactive, before import random do:

sys.path.append(path)

with path being the folder of IronPython.Modules.dll (I guess 'C:\Program Files (x86)\IronPython 2.7') and it should work.

like image 121
digEmAll Avatar answered Oct 04 '22 21:10

digEmAll