这在Visual Studio 2010中的 IronPython Interactive 中失败:

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

在Visual Studio中的IronPython代码中,同样可以正常工作。如果我在Windows命令提示符下启动ipy.exe,它也可以正常工作。 IronPython Interactive和导入有什么问题?如何修复Python Interactive,使其可以导入Python模块?

IronPython Interactive中的sys.path提供了以下功能:
» 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']

Windows命令提示符下ipy.exe中的sys.path提供了以下信息:
>>> 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']

我正在使用IronPython 2.7,Visual Studio 2010和Windows 7 64位。

最佳答案

如您所见,sys.path目录是不同的;
我怀疑random模块是在IronPython.Modules.dll中实现的,那么您应该检查IronPython交互式路径中是否存在此类dll。

如果存在,那么问题就出在另一个地方,我不知道会是什么...

否则,在Ironpython交互式中,在import random之前执行以下操作:

sys.path.append(path)

pathIronPython.Modules.dll的文件夹(我猜是'C:\Program Files(x86)\IronPython 2.7'),它应该可以工作。

关于visual-studio-2010 - IronPython:IronPython Interactive中的导入随机失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6085753/

10-16 09:37