如何使用名为“async”的现有模块升级到Python 3.7?
大家好,我有一个大型Python项目,它有一个名为如何使用名为“async”的现有模块升级到Python 3.7?,python,python-asyncio,python-3.7,Python,Python Asyncio,Python 3.7,大家好,我有一个大型Python项目,它有一个名为async的包,在迁移到Python3.7后会中断 import foo.bar.async.x.y as y ^^^^^ syntax error :( 修复/解决此问题的建议方法是什么 我能想到的最简单的方法是重命名它并重构它的所有引用。但是有没有比大规模重构更具范围的解决方案呢?重命名模块以避免关键字冲突是唯一的出路 许多开源库也必须这样做。async现在是一个标识符,因此不能将其用作标识符。无论该名称出现在
async
的包,在迁移到Python3.7后会中断
import foo.bar.async.x.y as y
^^^^^ syntax error :(
修复/解决此问题的建议方法是什么
我能想到的最简单的方法是重命名它并重构它的所有引用。但是有没有比大规模重构更具范围的解决方案呢?重命名模块以避免关键字冲突是唯一的出路
许多开源库也必须这样做。
async
现在是一个标识符,因此不能将其用作标识符。无论该名称出现在何处,您都需要更改它。这是向后兼容性的一个可怕的中断:(而不是重命名-我使用新名称创建了一个指向现有async
包文件的符号链接。您可以使用Python>=3.7的新名称进行导入,而任何旧代码都可以继续以与往常相同的方式使用包。)。