2024-04-28 07:18:01 发布
网友
我试图使用pip install -r requirements.txt来维护依赖关系。但是,一些必需的包不直接支持Python3,但是可以使用2to3手动转换。在
pip install -r requirements.txt
2to3
有没有一种方法可以强制pip在执行pip install -r requirements.txt时自动在这些包上运行{}?在
pip
不,它需要成为包设置配置的一部分。见Supporting both Python 2 and 3 with Distribute。在
向包安装程序添加元数据:
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的假设。在
请与您感兴趣的包的维护者联系,并询问python3的包的状态。为他们提供补丁通常会有所帮助。如果这样的帮助请求和提议被置若罔闻,对于开源软件包,您可以随时将它们分开,并自己应用必要的更改。在
不,它需要成为包设置配置的一部分。见Supporting both Python 2 and 3 with Distribute。在
向包安装程序添加元数据:
这样的包将在安装到python3系统时自动运行
2to3
。在2to3
是一个工具,而不是一个神奇的子弹,你不能将它应用于从PyPI下载的任意包pip
。包需要以编码方式支持它。因此,从pip
自动运行它是行不通的;责任在于包维护者。在请注意,仅仅因为
2to3
在包上成功运行,它并不一定遵循Python3中的包将工作的情况。当您实际开始使用这个包时,通常会突然出现关于字节与unicode的假设。在请与您感兴趣的包的维护者联系,并询问python3的包的状态。为他们提供补丁通常会有所帮助。如果这样的帮助请求和提议被置若罔闻,对于开源软件包,您可以随时将它们分开,并自己应用必要的更改。在
相关问题 更多 >
编程相关推荐