emacs中的Python 3.3(ropemacs支持)

时间:2013-02-13 03:43:54

标签: emacs python-3.x ropemacs

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

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

2 个答案:

答案 0 :(得分:5)

根据its webpage

,原始的绳索库确实支持Py3k

pip install rope_py3k

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

然后从its website安装Pymacs。代码seems to be hosted on github也是。

最后,

pip install ropemacs

或从PyPigithub重新下载。

特别是{/ 3}} 之后 Python 3.3 got released on 29-Sep-2012发生在2012年6月25日(截至2014年)。

因此,不能明确支持Python 3.3(与Python 3.2相比)的主要新功能(基于我个人的偏好):

  • yield from可以更轻松地从一个生成器委派/转发值
  • 再次允许u'unicode'语法(存在于> = Py2.7和
  • IOErrors的异常层次结构,基于class OSError
  • time.perf_counter()等。到亚秒精度的持续时间
  • stdlib的新功能:
    • ipaddress
    • lxma(压缩),
    • unittest.mock
    • venv(整合了PyPi的virtualenv)

(有关完整列表,请查看the last commit to the rope_py3k sourcecode

因此,虽然新的stdlib模块的自动完成,新的函数,新的异常类可能不起作用,但最大的障碍可能是yield语句的语法添加。

但我怀疑绳索(或任何自动完成IDE)会内省任何import ed模块,以检查哪些函数/方法/变量可用于自动完成。因此,以上所有可能(并且可以说应该)都有效。

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

祝你好运!

答案 1 :(得分:1)

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

与大多数情况一样,由于默认sudo pip install rope使用Python 3(我也使用ArchLinux),我无法python,但我运行sudo pip install rope_py3k就好了。重构,语法突出显示,自动完成和跳转到定义非常有效。

以下是install instructionsthe documentation。它似乎很受支持。我很高兴向大家报告,看看我是否可以离开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中是默认的,但我在2.7中有一些virtualenvs,所以我需要在我的virtualenvs中运行pip install rope并在基本安装中运行pip install rope_py3k