问题标签 [rope]

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 回答
205 浏览

python - 使用 el-get-install 安装ropemacs

我正在尝试设置 Emacs 来调试 Python 脚本,如本博客中所述。

我在 Ubuntu 14.04 上使用 Emacs 版本 24.3。

按照此答案el-get-install ropemacs中的建议从 Emacs运行时,出现错误:

Emacs 调试器说:

0 投票
1 回答
307 浏览

vim - vim 启动时的 RopeGenerateAutoimportCache

每次我在 vim 中打开我的 python 项目时,我似乎都必须运行 RopeGenerateAutoimportCache,然后才能使用 RopeAutoImport。如果我在缓存项目模块之前运行 RopeAutoImport,我会收到以下错误:

有没有办法在每次 vim 启动时生成缓存,或者最好保存缓存以在启动时重新读取?

0 投票
0 回答
56 浏览

emacs - 绳索在后台生成自动导入缓存

M-x rope-generate-autoimport-cache如果我想自动导入一个新定义的名称(带有M-x rope-auto-import),这是必要的,但是我的项目需要大约 60 秒并且发生在前台,所以我不能在运行时使用 emacs。

有没有办法在后台定期生成自动导入缓存?

0 投票
1 回答
33 浏览

emacs - 将rope-auto-import绑定到emacs中的键盘快捷键

我知道使用rope自动导入的方法是将光标移动到我要导入的名称并执行M-x rope-auto-import。我想绑定rope-auto-import到键盘快捷键以使其更快。

0 投票
0 回答
188 浏览

python - 让rope项目了解核心库

我正在处理一个大型代码库,我想建立绳索项目,以便绳索快速并做我想做的事。对于它的价值,我将rope与emacs一起使用,但如果我理解正确,rope的行为应该独立于编辑器。

代码库有许多应用程序使用的许多核心库。每个应用程序都依赖于一个或多个核心库,但从不依赖于另一个应用程序。这是目录结构的简化表示:

我想做的事

目前我有repo/.ropeproject,并且绳索的行为符合我的意愿,但速度很慢。我相信缓慢是因为它在任何给定时间分析所有应用程序中的所有代码。为了解决这个问题,我试图在每个/repo/apps/AppA/.ropeproject知道核心但不知道其他应用程序的应用程序(例如)中创建一个绳索项目。问题是,我无法让它了解核心。这意味着我不能对核心中的任何名称执行任何绳索操作。

工作,但很慢:

  1. .ropeproject确保整个代码库中没有目录。在 中创建一个绳索项目/repo/
  2. 将以下代码放入/repo/.ropeproject/config.py
  1. 重新加载绳索项目(以确保它使用的是最新更新的config.py
  2. 绳索生成自动导入缓存。这需要 60 秒以上的时间,并且不能在后台运行。
  3. 编辑repo/apps/AppA/app_a_module/src.py时,尝试使用rope从核心自动导入名称。有用。

快速,但不起作用:

  1. .ropeproject确保整个代码库中没有目录。在 中创建一个绳索项目/repo/apps/AppA/
  2. 将以下代码放入apps/AppA/.ropeproject/config.py
  1. 重新加载绳索项目(以确保它使用的是最新更新的config.py
  2. 绳索生成自动导入缓存。这需要不到 1 秒的时间。
  3. 编辑repo/apps/AppA/app_a_module/src.py时,尝试使用rope从核心自动导入名称。它失败。

我想做的事情在rope的能力范围内吗?它应该能够工作吗?如果是这样,我做错了什么?

0 投票
1 回答
263 浏览

python - Ropevim 不工作:AttributeError:“NoneType”对象没有属性“pycore”

在 Ubuntu 12.04 上,使用 Vim 7.4、rope 0.10.2、ropemode 0.2 和ropevim 0.5.0

当我尝试创建一个新的 Rope 项目(使用 :RopeRename 命令)时,我总是得到 AttributeError: 'NoneType' object has no attribute 'pycore' 我用其他一些命令(:RopeMove、:RopeShowDoc、:RopeChangeSignature)尝试过的错误,并且错误总是相同的。

我尝试了不同的安装ropevim的方法。第一个是在 .vim/bundle 中解压缩它,然后运行sudo python setup.py install​​.

然后我尝试删除它已安装的文件,并从 pip 安装它,同时修改 PYTHONPATH。

但总是我得到同样的错误。

有关更多信息,如果我在 vim 中发出

,我得到以下信息:

['/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/PIL', '/usr/local/lib/python2.7/dist-packages/aeroolib-1.2.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/Genshi-0.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python2.7/dist-packages/SimpleGUITk-1.1.3-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/clonedigger-1.1.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/sphinx_patchqueue-0.4.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/mercurial-3.1.2-py2.7-linux-x86_64.egg', '/usr/ local/lib/python2.7/dist-packages/Sphinx-1.3b1-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/snowballstemmer-1.2.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/docutils-0.12-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/six-1.8.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/pyrg-0.2.6-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/ropevim-0.5.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/ usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/wx-2.6-gtk2-unicode', '_vim_path_']

我在我的计算机上使用编译的 vim 版本进行了尝试,但也在库存 Ubuntu 14.04 上使用来自存储库的 vim 包进行了尝试。

你知道我应该如何安装它吗?

谢谢你的帮助。

0 投票
2 回答
3526 浏览

python - 用于自动生成 Python 导入语句的 Vim 插件(不使用 Rope)

我在这里这里之前看到过类似的问题,但是它们已经 4 岁了,并且没有产生符合我要求的答案。

如果我在 Vim 中输入 Python 代码,例如:

假设我的站点包文件夹中有第三方模块“requests”和“django”,是否有任何不使用绳索库的 Vim 插件可以自动将相关的导入语句添加到 Python文件(对于内置模块和第三方模块,都可以使用importfrom根据需要使用),如下所示:

虽然我传统上会使用古老的 Rope 包,但我一直在用现代替代品替换 Rope 函数,以避免 .ropeproject 文件夹的开销。但是,我还没有找到用于自动导入的 Vim 替代方案。

0 投票
0 回答
44 浏览

python - 如何让rope知道实例属性属于某种类型

我正在使用 Python 2.7 并想使用绳索(通过vim 中的 python-mode )进行一些重构。

我有一个包含我要重构的方法的类和另一个具有包含第一个类的实例的实例属性的类。

假设我想更改Car.get_n_wheels()以下示例中的名称:

只有当我_car通过创建一个新的 Car 对象来明确地强制这是一辆汽车时,最后一行才会更改,但我想将一个成品汽车对象交给构造函数。

有什么方法可以告诉rope 实例变量的(预期)类型是什么?

0 投票
1 回答
1043 浏览

python - 从模块中捕获所有异常的 Pythonic 方法?

我正在尝试使用rope包进行一些重构。根据代码的不同,它可能会抛出异常,并且有超过 10 个绳索异常。

我不想做

我只想捕捉所有绳索异常,像这样

如何捕获来自特定模块的所有异常?

0 投票
1 回答
531 浏览

python - python-rope/ropevim 无法正常工作

我已经安装了这些,点列表:

我拥有的所有 vim 插件:

:地图

:imap

:version节目-python +python3

我没有在.vimrc. 现在,整个键绑定不起作用。如果我键入:Rope并按标签,则没有任何显示。但:h rope会显示文档

安装时我错过了什么吗?还是应该将任何配置放入.vimrc?