问题标签 [python-jedi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
145 浏览

python - 可以说服绝地自动完成列表吗?

通过在命令行中将对象暴露给 python 程序,我得到了大量的实用程序。例如:

让我执行 obj1.obj2.method(),然后

让我看看有什么可用的。惊人的!但是,我无法说服 jedi 返回自动完成结果列表(或字典)。我希望这可能适用于短名单:

0 投票
0 回答
231 浏览

python - youcompleteme 内省 python 的名称

我已经和 Jedi 一起在 vim 中安装了 youcompleteme。从当前文件中的模块名称空间或名称/变量开始声明时,我能够使完成工作。问题是,一旦我“点”一个不是模块的“本地”名称,我就得不到任何建议。

在以下几行中,第一个显示点之后的完成。但是第二行在点之后没有提供任何东西。我假设是因为 YCM 不完全知道名称“main_grid”,因为没有“处理”上面的行以了解 main_grid 是什么类型的对象。

理想情况下,在第二行中,我将在键入“main_grid”后获得所有可用的 QtGui.QGridLayout 方法。

这可能吗?

更新一些 vim 输出:

:设置全功能

:mes有很多:

:版本

0 投票
1 回答
379 浏览

python-jedi - Jedi 不使用 boto3 库

我正在尝试让绝地与 Amazon Web Services 的 boto3 库(https://github.com/boto/boto3)一起正常工作。

用一个例子来解释可能最容易:

在交互式解释器上,我可以正确完成课程。进入绝地:

还在这里工作!但是之后...

我不确定这是我的错,是图书馆的错还是绝地的错。

编辑:似乎 PyCharm 也有同样的问题:PyCharm intellisense for boto3

0 投票
1 回答
67 浏览

vim - 如何删除 jedi-vim 中自动完成的隐含“self”参数

我刚刚安装了jedi-vim。当 Jedi 自动完成一个方法时,第一个参数总是self,它隐含在方法调用中。

我怎样才能摆脱self

自动完成一个对象

0 投票
1 回答
220 浏览

python - 是否有适用于 Python 的范围分析器?

给定一个 python 文件,我想找出文件中标识符的所有范围和声明。

例如,给定这个文件:

我希望输出为:

  • 在第 7 行,my_func指的是my_func在此文件的第 4 行中定义的
  • 在第 8 行,a指的是模块 a。function_in_a指模块 a 中定义的函数
  • 在第 9 行,xyz指的是模块 b 中定义的函数

有没有为我做这个的图书馆?基本上我试图在IDE功能/代码自动完成/理解变量范围的上下文中使用。基本上,我有兴趣了解标识符(变量、函数等)定义的位置,就像 PyCharm 之类的 IDE 如何确定它一样。

0 投票
2 回答
5949 浏览

python - YouCompleteMe 不适用于 python

我不确定这是否是某种错误(可能不是,否则每个人都会抱怨)并且没有 google 帐户,我无法使用 google 组,所以我在这里试试运气,希望有人有建议.

我安装了带有 clang-completer 的 YouCompleteMe,这些东西对 C、C++ 都很好。现在我编辑一个.py文件,提供的唯一补全是缓冲区中已经存在的单词。没有语义完成。:YcmCompleter打印No semantic completer exists for filetypes: [u'py']。我已从我的以下内容中删除了所有内容.vimrc

无济于事。有人知道如何更好地诊断问题吗?

编辑:我意识到我没有jedi安装。所以我跑了pip install jedi,奇怪的是什么也没改变。

0 投票
1 回答
779 浏览

vim - 无法在 SuperTab 上获得 Jedi 的自动完成功能

我使用 Pathogen 安装了这两个插件,但它们不能正常工作。也就是说,如果我使用 TAB,我会得到 SuperTab 的完成(自动完成我之前编写的内容),而如果我使用 CTRL + SPACE,我会得到 Jedi 的完成(来自库的所有内容:类、模块等)。

理论上,如果两个插件都安装了 SuperTab 应该可以无缝处理 Jedi,但我的情况不是这样。我发现这份报告显示一些人经历了相同的行为,而另一些人则说这对他们有用。虽然没有提供解决方案。

我正在使用的插件不会相互覆盖:

那么还有什么可能导致这种行为呢?

vimrc:

0 投票
1 回答
150 浏览

python-jedi - 字符串中的自动完成文件名?

我觉得这应该很容易,但现在我有 SuperTab(我无法安装 YouCompleteMe,因为我有带有 python3 的 vim,而不是 python2)和 jedi-vim 安装。大多数绝地完成工作都很好,但以下失败得很惨:

自动完成:

老实说,我想不出任何理由包含“.self”的字符串。会有用的。这是一个错误,还是我的配置错误?

0 投票
3 回答
52 浏览

python - 从文件中获取函数/类代码,知道它的定义的行和列

基本上我想使用绝地从它的定义(路径,行,列)的细节中检索一个函数或一个类的代码。更明确地说,我真正希望的是从文件中获取代码,即未执行的静态代码。

0 投票
1 回答
804 浏览

python - python jedi:如何检索实例的方法?

我为屏幕阅读软件构建了具有一些辅助功能的简单文本编辑器。我正在使用 Python for .NET (pythonnet) 来显示包含富文本框的表单。当用户在一段时间后按 Tab 键时,它会弹出一个上下文菜单,其中包含所选元素的补全。好的,它适用于 Python 对象,但不适用于 .net 实时对象,这个问题没有解决方案。现在,我想用我正在编辑的模块的所有名称和定义构建一个 TreeView 对象。

所以,例如我输入:

等等...如果我使用我的源代码的 jedi.names,我可以检索 os、sys 和 lst。对于每个名称,我想检索子定义,例如 sys 和 os 模块的函数,以及 lst 的方法。我找不到用绝地做到这一点的方法:

有什么建议么?我尝试使用越来越多的编辑器,但可访问性支持非常非常糟糕......