3

我在 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 的第三条语句中得到一个未解决的导入

  1. 我修改了第二条语句以使用clr.AddReferenceToFileAndPath('Fully qualified path and file name')

  2. 我还尝试将路径添加到外部库并将我的程序集放在该库中,结果相同。

这 3 条语句在 IronPython 控制台中执行良好。此外,.NET System 和其他模块的导入工作正常。但大概这些模块已在 GAC 中注册。

这似乎是 IronPython 解释器和 final 所独有的PYTHONPATH。我有对项目 src 文件夹和外部源文件夹的路径引用,它们都包含程序集。我在这里想念什么?

4

1 回答 1

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" 之前)以便导入在强制内置函数中工作。

于 2013-12-17T18:18:46.900 回答