7

我在 python 3.3 中运行 arch linux 和脚本我想要类似 IDE 的功能(自动完成、语法检查器等)。我已经安装了绳索、绳索模式和 pymacs。ropemacs 是否支持 python 3.x?

如果没有,建议其他方法(如果我得到上述功能,我准备考虑 vim)。

4

2 回答 2

6

根据其网页,原始的绳索库确实支持 Py3k

pip install rope_py3k

或从PyPi下载。目前(16 年 1 月),github 项目页面的版本比 PyPi 更新。

然后你安装Pymacs,从它的网站。该代码似乎也托管在 github 上

最后,

pip install ropemacs

或从PyPigithub再次下载。

特别是,在 2012年 6 月 25 日(截至 2014 年)最后一次提交rope_py3k 源代码之后, Python 3.3 于 2012 年 9 月 29 日发布。

所以 Python 3.3 的主要新特性(与 Python 3.2 相比)(基于我的个人喜好)不能明确支持:

  • yield from更容易从一个生成器委托/转发值
  • 再次允许u'unicode'语法(存在于 >=Py2.7 和
  • 的异常层次结构IOErrors,基于class OSError
  • time.perf_counter()等。到具有高亚秒精度的持续时间
  • 标准库中的新功能:
    • ipaddress,
    • lxma(压缩),
    • unittest.mock,
    • venv(集成 PyPi 的 virtualenv)

(有关完整列表,请查看Python 3.3 发行说明

因此,虽然新 stdlib 模块、新函数、新异常类的自动完成功能可能无法正常工作,但最大的绊脚石可能是语句中添加的语法yield

但我怀疑rope(或任何自动完成IDE)自省任何imported模块以检查哪些函数/方法/变量可用于自动完成。所以以上所有可能(并且可以说应该)工作。

我当然会试一试。没有yield from检测到可能根本不是问题。我自己不是绳索用户,但由于您的问题而感兴趣。

祝你好运!

于 2013-02-20T15:30:06.667 回答
2

我多年来一直在使用 PyCharm 社区版,但就在今天我安装了 elpy(我相信它是绳索、绝地和 flymake 的超集),我非常高兴。我不确定 elpy 是否使用了rope、rope_py3k、jedi 或其他东西,但重构支持很棒:D

sudo pip install rope像大多数人一样,由于默认python使用 Python 3(我也在使用 ArchLinux),我无法运行,但我运行sudo pip install rope_py3k得很好。重构、语法高亮、自动完成和跳转到定义都运行良好。

以下是安装说明文档。它似乎得到了很好的支持。我很高兴回来报告,看看我是否可以离开 PyCharm,以后只使用 elpy。

每当我遇到 elpy 问题时,我通常只是跑步M-x elpy-config,它会告诉我什么是坏的。我也跑步M-x elpy-rpc-restart只是为了确定。

更新

大约 2 个月了,带有 elpy 的 Emacs 仍然运行良好。我不必碰 PyCharm,而且可能再也不用碰了!我认为我所做的唯一更新是在M-x customize-group RET elpy. 我认为还有一个 Arch python3 更新,我需要重新安装rope_py3k,但这很容易。

另外,为了澄清,我还在我的基础安装和 virtualenvs 中安装了绳索。Python 3 是 Arch 中的默认设置,但我在 2.7 中有一些 virtualenvs,所以我需要pip install rope在我的 virtualenvs 和pip install rope_py3k基本安装中运行。

于 2015-08-14T19:17:25.297 回答