我在Eclipse Luna Service Release 2(4.4.2)中使用IronPython 2.7
内的PyDev 4.0.0.2x
。编辑的自动完成功能可以看到' IsNullOrEmpty
库中的System.String
方法,但控制台不能(针对IronPython或编辑器中的当前脚本打开)。它不仅仅是自动完成,当我在控制台中执行此操作时会抛出异常:
import clr
import System
System.String.IsNullOrEmpty("")
追踪(最近一次呼叫最后一次):
File "<input>", line 1, in <module>
AttributeError: 'type' object has no attribute 'IsNullOrEmpty'
我在Eclipse / PyDev之外的ipy.exe终端中没有麻烦。在帮助文件之后,我检查了eclipse\plugins\org.python.pydev_4.0.0.201504132356\pysrc>ipy.exe interpreterInfo.py
的转储。有趣的是,输出的.NET
部分中缺少所有forced_lib
库,尽管默认情况下它们在我配置的ironpython解释器中存在。我不确定这是否相关。
UDPATE: 我将System.String添加到为PyDev配置的IronPython解释器的强制内置,更新并重新启动了Workspace ==无差异。 我可以调用&#39; import System.String&#39;没有问题,但是当我从System.String import *调用时,我得到一个有趣的错误&#34; ImportError:没有名为str&#34;的模块。我继续通过以下方式创建System.String:&#39; v = System.String(&#34; v&#34;)&#39;。当我调用dir(v)时,我只看到python函数的python函数 - 没有.NET字符串。我在PVTS for VS2013中没有这个问题