Python 有没有办法通过pip安装运行2to3?

Python 有没有办法通过pip安装运行2to3?,python,pip,requirements.txt,python-2to3,Python,Pip,Requirements.txt,Python 2to3,我试图使用pip install-r requirements.txt来维护依赖关系。但是,一些必需的包不直接支持Python 3,但可以使用2to3手动转换 当执行pip安装-r requirements.txt时,是否有办法强制pip在这些软件包上自动运行2to3?否,它需要成为软件包安装配置的一部分。看 将元数据添加到包安装程序: setup( name='your.module', version = '1.0', description='This is you

我试图使用
pip install-r requirements.txt
来维护依赖关系。但是,一些必需的包不直接支持Python 3,但可以使用
2to3
手动转换


当执行
pip安装-r requirements.txt
时,是否有办法强制
pip
在这些软件包上自动运行
2to3

否,它需要成为软件包安装配置的一部分。看

将元数据添加到包安装程序:

setup(
    name='your.module',
    version = '1.0',
    description='This is your awesome module',
    author='You',
    author_email='your@email',
    package_dir = {'': 'src'},
    packages = ['your', 'your.module'],
    test_suite = 'your.module.tests',
    use_2to3 = True,
    convert_2to3_doctests = ['src/your/module/README.txt'],
    use_2to3_fixers = ['your.fixers'],
    use_2to3_exclude_fixers = ['lib2to3.fixes.fix_import'],
)
这样的包在安装到Python3系统时会自动运行
2to3

2to3
是一个工具,不是一个魔弹,您不能将其应用于从PyPI下载的任意包
pip
。包需要以编码的方式支持它。因此,从
pip
自动运行它是行不通的;责任在于包维护人员

请注意,仅仅因为
2to3
在一个包上成功运行,它并不一定遵循该包将在Python3中工作的原则。关于字节与unicode的假设通常在您实际开始使用软件包时出现


联系您感兴趣的软件包的维护人员,并询问Python 3软件包的状态。为他们提供补丁通常会有所帮助。如果这些请求和提供的帮助被置若罔闻,那么对于开源软件包,您可以随时对其进行修改。

当您说“手动转换”时,这是否意味着可以在其上运行
2to3
,在不进行手动调整的情况下成功地转换它们?@Jon:您可能想建议对Distribute项目进行编辑;该示例代码是从分发文档中逐字编码的。:-)我看到了——但它让我感到不安——我将把它添加到我要查看的文档列表中;)