跳转到主要内容

Zope的2to3修复器

项目描述

简介

为Zope组件架构及其构建的框架提供的修复器。

目前,只有一个修复器,即fix_implements。此修复器将类体中所有对implements(IFoo)的使用更改为类装饰器@implementer(IFoo),这是zope.interfaces中使用implements语句最可能的Python 3语法。

用法

通常,您将zope.fixers与Distribute的2to3支持一起使用。这是通过在setup()中添加zope.fixers到某些参数来完成的

>>> setup(
...     install_requires = ['zope.fixers'],
...     use_2to3 = True,
...     use_2to3_fixers = ['zope.fixers'],
... )

有关复杂用例的示例,请参阅

http://svn.zope.org/zope.interface/branches/regebro-python3/setup.py?rev=106216&view=markup

setup.py支持distutils、setuptools和distribute,兼容从Python 2.4到3.1的所有版本,并有一个可选的C扩展,所以不必担心它过于复杂。对于简单的项目,您只需要使用Distribute并在setup.py中添加上述三条命令。Distribute提供了更多关于如何使用它来支持Python 3迁移的文档。

如果您不想使用Distribute,事情会变得稍微复杂一些,因为您需要自己制作修复器的列表,并使用它调用lib2to3。

>>> from lib2to3.refactor import RefactoringTool, get_fixers_from_package
>>> fixers = get_fixers_from_package('lib2to3.fixes') + \
...          get_fixers_from_package('zope.fixers')

然后运行修复器进行修复

>>> tool = RefactoringTool(fixers)
>>> tool.refactor(files, write=True)

修复脚本

该软件包还提供了一个名为zope-2to3的控制台脚本,它具有与2to3相同的参数,但应用此软件包中定义的修复器。

变更记录

1.1.2 (2013-02-23)

  • 删除了setup.cfg并确保我们指向实际的变更日志。

1.1.1 (2013-02-23)

  • 再次移除了对Python 2.7的支持。它不起作用。

1.1.0 (2013-02-22)

  • 添加了控制台脚本zope-2to3

1.0.0 (2009-09-12)

  • 初始发布。包括实现修复,将实现(IFoo)类体调用更改为@implementer(IFoo)类装饰器。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

zope.fixers-1.1.2.zip (18.3 kB 查看哈希值)

上传时间 源代码

支持者