【问题标题】:Are there any IDE's that support Python 3 syntax?是否有任何支持 Python 3 语法的 IDE?
【发布时间】:2010-09-17 11:46:39
【问题描述】:

我最近看到了一个公告,article 概述了第一个 Python 3.0 候选版本的发布。我想知道是否有任何支持其语法的商业、免费、开源等 IDE。

【问题讨论】:

    标签: python syntax ide python-3.x


    【解决方案1】:

    Python 3 与 Python 2.x 只是 差别不大。就语法本身而言,实际上需要由解析器以不同方式处理的事情,唯一的主要变化是将print 语句替换为print 函数。 p>

    Python 的大部分特性都可以通过自省(在线帮助、方法完成、函数签名等)轻松探索,因此没有理由任何 Python IDE 都需要对 Python 3.0 进行重大更改。我预计 IDLE 和 SPE 以及其他开源 IDE 将在最终版本之前支持它。

    【讨论】:

    • 这取决于您想变得多么挑剔 - 有足够的差异,新/删除的关键字,异常语法, True , False 和 None 现在是关键字,上下文。因此,虽然您可以摆脱 python3 代码的 python2 语法,但在编辑器中请求 python3 支持是一个有效的问题。
    【解决方案2】:

    Komodo 5 beta 1 于 2008 年 10 月发布,初步支持 Python 3,但我认为我还不会将它用于生产代码。

    鉴于 Python 3 仍然是一个非常早期的候选版本,您可能很难在 IDE 中找到成熟的支持。

    【讨论】:

    • 我已经将 Komodo 5 与 Python 3 代码一起使用,并且运行良好。
    • 自 2008 年 10 月我回答这个问题以来,可能发生了很多变化 - Python 3.0 是一个前版本,而 3.1 是最新版本。如果支持至少没有改善一点,我会感到惊讶:-)
    • 我正在使用最新的 Komodo IDE (5.2.2),但它仍然没有任何接近体面的 Python 3 支持。参见例如缺陷:bugs.activestate.com/show_bug.cgi?id=79326
    【解决方案3】:

    PyDev for Eclipse 确实支持 3.0。 您可以在插件设置中配置多个解释器。

    在项目属性中可以设置:

    • 项目类型(Python、Jython、IronPython)
    • 语法版本(2.1、2.2、2.3、2.4、2.5、2.6、3.0)。

    (撰写本文时的 PyDev 版本:1.4.7。)

    【讨论】:

      【解决方案4】:

      可以从http://pydev.sourceforge.net获取PyDev.。它是 Eclipse 的插件,非常方便。更不用说旧的和值得信赖的 Eclipse 的好处了。

      【讨论】:

      • pydev 支持 python 3 吗?我找不到这方面的任何信息。
      【解决方案5】:

      Emacs + python.el 仍然比我尝试过的任何其他方法都要好。

      【讨论】:

        【解决方案6】:

        Pyscripter 是 Windows 上完美的 Python IDE;它甚至与新发布的 Python 3.1 兼容。

        【讨论】:

        • 完美是非常主观的。 ;)
        • 对我来说并不完美,但比我尝试过的所有其他人都好。
        【解决方案7】:

        如果您安装 Geany,则它可以与 python 3 一起使用,然后:

        sudo gedit /usr/share/geany/filetypes.python

        将最后两行更改为:

        compiler=python3 -c "import py_compile;py_compile.compile('%f')"

        run_cmd=python3 "%f"

        【讨论】:

          【解决方案8】:

          我可以说,在发布这篇文章时(2009 年 4 月 28 日,版本 0.8.4h)SPE 确实没有正确处理了一些 python3 语法——特别是异常处理。例如,下面的代码被标记为错误(令人恼火的是,每当保存文件时就会跳转到):

          except urllib.error.URLError as e:
                  if hasattr(e, 'reason'):
                  #...
          

          【讨论】:

            猜你喜欢
            • 2012-07-25
            • 1970-01-01
            • 1970-01-01
            • 2012-03-22
            • 2023-04-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多