以编程方式添加python解释器

时间:2012-05-14 16:49:48

标签: eclipse pydev

有没有一种使用Pydev插件界面添加和更改解释器的简单方法?我正在运行pydev 1.6.1,我希望能够根据我环境中可用的解释器列表添加和使用给定的解释器。

现在我可以看到PythonInterpreterManager有一个createInterpreterInfo调用,但似乎没有做任何事情。看一下pydev的来源,似乎我必须真正使用首选项页面来跟踪所有这些。

我可以调用更简单的函数来添加这些函数吗?

PythonInterpreterManager manager = (PythonInterpreterManager)PydevPlugin.getPythonInterpreterManager(true);
IInterpreterInfo info = manager.createInterpreterInfo(execPath, new NullProgressMonitor());
        manager.addInterpreterInfo(info);

我已经可以执行上述操作,但只能缓存它,但不会将其显示为首选项中的有效解释器选项。

我甚至尝试过反思来添加这些而没有太多运气。我可以在编辑器上调用addNewInput作为Add按钮,但是它表示它不知道该解释器。我已经尝试创建一个弹出首选项页面,并通过反射将值添加到各个成员,如getNewInput()所示,但仍然没有在首选项页面中看到任何更多选项。我不确定这是因为我错过了什么,或者我制作的弹出首选项页面与使用Window->“首选项”下拉弹出的页面完全无关。

1 个答案:

答案 0 :(得分:0)

API就是:

    IInterpreterManager iMan = PydevPlugin.getPythonInterpreterManager(true);
    IInterpreterInfo interpreterInfo = iMan.createInterpreterInfo("c:/python/python.exe", monitor, false);
    iMan.setInfos(new IInterpreterInfo[]{interpreterInfo}, null, null);

请注意,如果你有'manager.addInterpreterInfo',你可能有一个旧版本的PyDev ...(在那个电话中你设置了所有的解释器,所以,如果你想保留一些配置,你应该查询并添加它们。)

您可以使用:org.python.pydev.editor.codecompletion.revisited.javaintegration.AbstractWorkbenchTestCase.createPythonInterpreterManager(NullProgressMonitor)作为参考。