问题标签 [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.
python - 将emacs jedi设置为默认使用python 3
有没有办法让emacs知道我想使用python3而不是python2?
已经尝试过
并且emacs一直在说
version-control - JediVCS 中的 vcslog 表是做什么用的?
只是想知道 JediVCS 中 vcslog 表的用途。
我在这个表上收到了一些一致性错误(在我的备份过程中,这些错误被数据库后端标记)并且有可能在修复后丢失了一些数据。
如果表只是充当日志,那么这应该没问题。
其他一些信息:
本来打算在 JediVCS 新闻组上问这个问题,但它似乎被关闭了
我确实有可以恢复的最近备份,但我不想这样做,因为这意味着要查找并重新提交任何干预工作。
我在 VCS 的修复前和修复后版本之间区分了所有其他表及其数据,它们都匹配。
我试图区分 vcslog 表,但由于表有数百万条记录,我的工具崩溃了。(我认为该工具在进行差异时内存不足)
任何信息表示赞赏。
彼得·梅斯
python - 我的自动完成或绝地有什么问题?
最近在用python练习,用jedi来提供更多的方便。但是,绝地和自动完成之间似乎存在冲突,如下所示,
前
后
在 ~/.emacs.d/lisp 下的一个 .el 文件中,当我输入“def”并等待自动完成以显示完成时,它仅在没有文本时正常显示,否则显示非常奇怪。
正如我所试验的那样,这个问题的存在与文件类型无关。
python - 如何在 emacs 中使用 elpy 正确设置 Jedi?
我正在使用带有 elpy 的 emacs 作为处理 python 代码的模式。我还安装了 Jedi,主要用于两件事:转到它提供的定义功能和自动完成功能。
但是,我在此设置中遇到了以下问题:
- 绝地完成不是由键盘命令触发的。它会自动出现,但有时对我来说太晚了,我宁愿早点尝试调用它。但是,尽管自定义页面中有 Jedi: Key complete 选项,但它似乎没有任何效果。另一方面,elpy 的公司模式的快捷方式在
C-M-i
. - 当绝地和公司模式都打开时,有时会出现两个完成列表(内容相同;我还安装了公司绝地后端)-但其中只有一个允许更改选择(绝地的完成列表),但在 Enter selection from company用来。这是不可用的。
有什么方法可以设置东西,以便我可以从具有绝地后端和绝地定义的单一来源自动完成?
这就是我目前在我的 jedi 中设置的方式init.el
:
python - 可以说服绝地自动完成列表吗?
通过在命令行中将对象暴露给 python 程序,我得到了大量的实用程序。例如:
让我执行 obj1.obj2.method(),然后
让我看看有什么可用的。惊人的!但是,我无法说服 jedi 返回自动完成结果列表(或字典)。我希望这可能适用于短名单:
delphi - 使用 Delphi + Jedi,当设备发送“太快”时丢失 USB 数据
使用库中Delphi XE2
的TJvHidDevice
类Jedi
,我设法与 USB 设备(pic32mx7
板,我的代码在其上运行)成功通信。“发送请求,等待单个响应”的通常方式有效。
问题在于导致大量连续响应的命令。如果设备尽可能快地发送这些响应 - 或者即使我在它们之间添加一个小的延迟,如 5ms - 我会丢失数据包(报告?帧?)。该OnDeviceData
事件似乎并没有为所有人触发。如果我在设备代码中添加更大的延迟,问题就会消失。
我使用USBPcap
程序捕获 USB 数据并将其转储到一个文件中,一旦我在 WireShark 中打开它,该文件包含设备发送的所有数据(我发送 255 个数据包作为测试,全零和一个“1”移动它在每个数据包中放置 1 个位置)。所以,我认为设备和 Windows 都在做他们的工作。
为了确保我的 Delphi 代码没有错误,我尝试了 Jedi 示例项目“DevReader”(这里是main.pas 代码),它在屏幕上转储数据并且它也丢失了数据包。
我觉得网上应该有更多关于 Jedi 的 USB 课程的信息,但我很难找到它。
我可以通过聚合/压缩设备的响应来避免这个问题,但仍然想知道发生了什么。
编辑:
- 从控制台应用程序尝试:数据包不再丢失。
- 修改了 Jedi 演示应用程序以仅计算接收到的数据包并更新屏幕上的计数器标签(无强制窗口重绘) - 无丢失数据包。
- 在 OnData 事件中添加了 sleep(1) - 没有丢失数据包。
- 在 OnData 事件中添加了 sleep(2) - 再次丢失数据包。
这看起来像读取数据的绝地线程不能被任何处理延迟 - 不应该有一些数据缓冲(通过 Windows 吗?)允许这种类型的处理延迟?从数据包丢失“模式”来看,似乎有缓冲,但这还不够,因为我可以接收例如 30 个数据包然后丢失 5 个然后再接收 20 个等等。
我将修改我的代码以复制数据并尽快退出 OnData 事件,以使线程具有最小的“停机时间”并且我将报告结果。
python - 如何让 JEDI 识别 Python C 扩展
我目前正在用 C 语言开发一个 Python 模块,但我无法弄清楚如何让 JEDI “看到”我的模块。
我已经在 C 代码中设置了所有文档字符串并在 my 中设置了每个字段setup.py
,但是当我编辑example.py
用于测试的文件并尝试使用Shift+在 vim 中显示文档时K,我收到一条错误消息:
例外,这不应该发生。
回溯(最近一次通话最后):
文件“/home/beben/.vim/bundle/jedi-vim/jedi_vim.py”,第 268 行,在 show_documentation
定义 = script.goto_definitions()
文件“/home/beben/.vim/bundle/jedi-vim/jedi/jedi/api/init .py ”,第 365 行,在 goto_definitions
names = [s.name for s in definitions] AttributeError: 'NoneType' object has no attribute 'name'
没有找到相关的文档。
阅读jedi
的文档后,我了解到它用于Pydoc
收集有关模块的信息。当我运行Pydoc mymodule
时,文档会正确显示。
我还需要在我的代码中添加什么内容才能被 JEDI 识别吗?
emacs - jedi:complete 在使用 theano 库时会产生延迟错误
在 emacs 中,我正在尝试jedi:complete
使用theano
. 为此,我有以下最少的代码。
当我将光标放在#
标志上并运行m-x jedi:complete
时,我遇到了以下错误,并且没有提供自动完成功能。
theano
我想知道这是否与和中的源文件不兼容jedi
。但我不确定,也不知道该怎么做才能进一步解决这个问题。
当我尝试使用company-jedi
.
我已经通过packages-list-packages
命令安装了我的所有软件包,并且它们都更新为最新版本。
python - Emacs Python绝地突然失败
在过去的两周里,我没有使用 emacs 进行 python 编码,到那时一切都很完美,我的设置运行良好,包括绝地。
两天前我安装virtualenvwrapper
在 python ( pip install virtualenvwrapper
) 中,这就是我的 python 安装中从两周到今天发生的所有变化。我的 emacs 安装/设置没有任何变化,绝对没有。今天,两周内我第一次开始用 python 编码,当我emacs test.py
在终端中输入时,我在emacs
窗口中收到以下错误消息:
这是我jedi
一年前安装的方式:
1-我首先按照这里的说明进行绝地安装。顺便说一句,epc, argparse, jedi
并且virtualenv
已经安装在 python 中,当然。
2-我在某处(我不记得在哪里)读到 melpa 的 jedi 包没有更新。这对我来说听起来很奇怪,但我决定直接从 github 下载:jedi-githubjedi
和python-environment-github。我把它们放在和python-environment
~/.emacs.d/emacs-jedi/
~/.emacs.d/emacs-python-environment/
3-然后通过执行以下操作进行设置jedi
:
4-我在emacs上运行:M-x jedi:install-server
完成了!直到今天,这对我来说已经工作了一年!
当然,作为解决此问题的第一次尝试,我完全按照错误消息的建议执行并运行(再次)M-x jedi:install-server
。然后我得到以下错误:
在此之后,以及其他一些尝试,我决定重新安装所有东西,只使用 melpa。(即在绝地安装之后)。然后我运行M-x jedi:install-server
并收到与之前描述的非常相似的错误消息:
总而言之,在这个阶段,我的文件或我的目录与原始安装相比没有任何变化。.emacs
.emacs.d
在过去两天里对我的 python 包安装所做的所有更改都是简单的virtualenvwrapper
. 在这个阶段我很迷茫。非常感谢任何帮助。
在此先感谢您的时间。
delphi - 无法获取 TJclUpdateArchive 以将压缩文件添加到现有存档
我一直在使用 JclCompression 库,试图将文件添加到现有存档中。不幸的是,当archive.compress
在下面的函数中调用时,它会删除原始存档并将其替换为仅包含我尝试添加的单个压缩文件的存档(具有相同的文件名)。所有原始文件已被删除。
有没有办法用 JclCompression 工具来完成这个?
编辑:
删除了几个不影响代码的内部函数调用。
我尝试过但拒绝的其他 Delphi 压缩工具:
Delphi XE的内部System.Zip;任何类型的进度或反馈都没有挂钩。
TurboPower 缩写 v5;几十年来,我已经成功地使用了这个工具和旧的 zip32 压缩。但是,我现在需要 zip64 支持,并且最新版本在我尝试的前两个超过 4GB 的文件上失败了(我记得这是一个无效的块大小)。这两个文件都可以使用 7-zip 和 Windows 文件资源管理器打开。
Shell 到 Windows 文件资源管理器使用的内部 zip 工具;我让一个 6GB 的压缩文件在一夜之间运行,当我早上返回时,它仍然报告还有 20 小时的运行时间。
7-Zip 速度极快,可以提供良好的反馈,并且已经过彻底的练习和测试。