我在Windows XP(SP3)系统上安装了Aptana Studio 3和Eclipse 4.2.1(带有PyDev和PyDev扩展)。我在加载外部.NET程序集方面一直不成功。鉴于程序集myassembly.dll包含名称空间myNameSpace
,我设置了一个新项目,并选择了IronPython解释器。在我的项目的src文件夹中,我创建了一个包含3个语句的Python文件'Test.py':
import clr
clr.AddReferenceToFile('myassembly.dll')
import myNameSpace
我总是在Aptana Studio和Eclipse
的第3个语句中得到一个未解析的导入我修改了第二个语句以使用clr.AddReferenceToFileAndPath('Fully qualified path and file name')
我还尝试将路径添加到外部库并将我的程序集放在该库中,结果相同。
3个语句可以从IronPython控制台执行。此外,.NET系统和其他模块的导入工作正常。但可能这些模块已在GAC注册。
这似乎是IronPython解释器和最终PYTHONPATH
所独有的。我有项目src文件夹和外部源文件夹的路径引用,这两个文件夹都包含程序集。我在这里错过了什么?
答案 0 :(得分:0)
我还没有真正对它进行过测试,但强制内置的情况通常就是这种情况(请参阅http://pydev.org/manual_101_interpreter.html处的强制内置部分)。
然而,它不会做:
import clr
clr.AddReferenceToFile('myassembly.dll')
所以,如果真的需要,你可以编辑文件:eclipse \ plugins \ org.python.pydev_XXX \ pysrc \ pycompletionserver.py
并添加该代码(在if sys.platform ==" darwin"之前),以便导入在强制内置函数中工作。