问题标签 [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.
vim - Vim supertab 和 jedi-vim
作为如何检查 SuperTab 和 jedi-vim 是否已激活?并且按照 Ingo Karkat 的提议做了。现在我想知道是什么坏了以及如何修复它。
这是输出:
在我看来没问题,而且...
看起来还不错。但是(不知道你是否应该能够做到这一点,但是)
感觉不太OK。这是我的.vimrc:
和我的 ~/.vimrc.python
...这是“vim --version”的输出:
python - emacs-jedi 找不到 numpy 补全
我安装了 emacs-jedi 以在 emacs 中为 python 完成一些代码。总的来说,我必须说我印象深刻!它开箱即用,可以快速找到内置库的补全。但是,我将 python 用于科学目的,并依赖 numpy 和 scipy 来完成我的工作。出于某种原因,我没有完成这些模块。
例子:
现在输入 testVector。等待,什么都没有出现
python - Emacs Jedi python工具无法加载“错误搜索程序:权限被拒绝,python”?
当我尝试在 emacs 中打开 python 文件时出现以下错误:
无法猜测 python 缩进偏移,使用默认值:4
延迟错误:(搜索程序时出错:权限被拒绝,python)
我的假设是需要将 python 环境变量复制到Emacs PATH 变量中,因为我必须使用 bradleywright 的path.el脚本为 Mac OS X 做同样的事情,但现在我需要为Windows 7做同样的事情。我怎样才能做到这一点?
初始化文件
vim - 无法让 jedi-vim 插件工作
我正在尝试使用jedi-vim插件进行 Python 自动完成,但我无法让它工作。
我有 Vim 7.3,这就是我所做的:
1-克隆代码
2-复制jedi-vim/plugin/jedi.vim
到~/.vim/plugin/
3-复制jedi-vim/doc/jedi-vim.txt
到~/.vim/doc/
现在当我打开 vim 时,进入插入模式并输入
没有任何反应,尽管文档指定了Autocompletion is also triggered by typing a period in insert mode
,如果我尝试<Ctrl-Space>
我会收到以下错误
我检查了一下:map
,似乎<Ctrl-Space>
没有使用:
由于我使用 时出错<Ctrl-Space>
,我想它必须做点什么,对吧?为什么我看不到它:map
?
我错过了什么?
编辑
:脚本名称
编辑 2
我将 Vim 更新到 7.4 并按照文档vim-jedi
中的说明进行安装:pathogen
1- 安装绝地 2- 安装病原体 3- 添加execute pathogen#infect()
到我的~/.vimrc
4- 克隆 git 存储库中~/.vim/bundle/
我创建了一个新文件,但仍然没有自动完成功能。例如:
插入模式下的 control+space 返回:
有没有omni completion
冲突的插件?我还没有安装这样的插件...
我的~/.vimrc
档案中还应该有其他内容吗?
python - 可以让 virtualenvs 回退到用户包而不是系统包吗?
我在 Emacs 中使用Jedi进行 Python 自动完成,但它不是我的代码的依赖项,所以我不想把它放在我的requirements.txt
. (其他开发者可能不会使用 Jedi 编辑器插件,当我部署到 Heroku 时肯定不需要它。)
但是 Jedi 必须从我的 virtualenv 中可用才能运行,即如果我不能
它不起作用。
有没有一种在全球范围内安装 Jedi 用户的好方法,以便它在我所有的 virtualenvs 中都可用?
我想我想要的是
- 将 Jedi 安装到
~/.local/lib/python2.7/site-packages/
withpip
的--user
flag中,然后到 - 使用flag的
--system-site-packages
等效项创建我的 virtualenv ,但用于用户包而不是系统包。
我目前的解决方法是pip install jedi
在我的每个 virtualenvs 中。然后,当我添加新的依赖项时,我pip install foo
, ,然后在提交之前从文件中pip freeze > requirements.txt
手动删除和其他一些东西。jedi
显然,这是耗时且容易出错的。
有人有更好的解决方案吗?
python - 使用 emacs-jedi 自动导入模块
使用ropemacs,您可以执行以下操作:
这会分析代码(我假设)并导入缺少的模块,例如,如果我写:
它应该通过添加以下行来为我导入:
(它总是使用from ... import ...
表格)
emacs-jedi中是否有类似的功能?
python - 是否可以为绑定到 python 的 C++ 库获得绝地自动完成功能?
我正在使用 vim 和 jedi-vim 来编辑一些 python 代码。但是,我们使用的一些库是 C++ 共享库,我们使用 pybindgen 为其生成了 python 绑定。使用 jedi-vim 时,我没有得到任何类和方法的签名,只是它们的列表。
例如,在这个库中,如果我安装库并导入它 , https://github.com/jorisv/SpaceVecAlg :
然后,sva.
将正确显示所有一阶函数和类。但是,如果我选择第一个,sva.ABInertia(
绝地不会建议我使用任何类构造函数。
我想我必须以某种方式将类定义导出到一种 python 文档中,我想我可以为此使用 doxygen 注释,但我不知道如何将额外的文档提供给 jedi(或任何其他完成引擎,例如作为内置在 IPython 中的一个)。
非常感谢 !
python-jedi - 在 Jedi-Vim 中关闭所有自动代码完成
我正在尝试在 vim 中使用 python-jedi,但目前它完全无法使用,因为它会尝试在奇怪的时间完成编码。
我添加了以下行:
到我的 vimrc 文件,这确实停止了“。”的自动完成。但是当我尝试在以下代码的逗号后添加空格时:
自动完成功能不断弹出,似乎每当我在方括号内时,它与数组无关。
我也安装了 pymode,但我确实关闭了绳索功能......我承认我不知道如何完全关闭 pymode。
VimRC:
python-3.x - 防止绝地完成太空后的一切
我正在尝试使用绝地来完成 PyQt 应用程序中的 python 代码,使用QCompleter
并QStringListModel
存储可能的完成。
这是一个简单的工作演示:
如果您运行应用程序并编写没有完成任何内容的代码(例如或
foo =
),则完成实际上会显示所有可能出现在该位置的标记。
所以,如果我运行并在字段中写一个空格,就会弹出很多东西,从abs
到__version__
.
我想防止这种情况发生:是否可以查询jedi.Script
以了解令牌是否正在完成或是否正在启动一个全新的令牌?
编辑:另一个小问题:假设我正在运行一个与绝地当前状态分离的解释器。我怎样才能提供局部和全局变量,jedi.Script
以便它考虑这些,而不是它自己的完成?