文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
13.2 外部库
你的头号敌人就是所依赖的外部库。如果你读了我在2.3节(外部库)中的建议并且参考了我的检查表,在这里你就不会遇到麻烦了。因为那个检查表已经包含了对Python 3支持的需求。不过,可能你很早就开始了自己的项目并且已经犯了这个错误。
遗憾的是,对于这个问题没有什么特别的好办法。但幸运的是,如果你参考了我的其他建议,将外部库进行足够的隔离以避免其扩散到整个代码库,则是可以考虑替换它的。事实上,如果某个库不太可能支持Python 3的话,那么这可能是最好的办法。不过,中小型的库比大的框架更容易移植到Python 3,所以你可能需要对它们做一点儿尝试。
在寻找PyPI上的包时,可以查看它的收藏分类符"Programming Language :: Python :: 2"和"Programming Language :: Python :: 3",它指明了包所支持的Python版本。不过,要注意的是它们可能不是最新的。
在OpenStack项目早期所做出的关于外部库的一个选择就是eventlet(https://github.com/eventlet/eventlet),一个并发网络库。它不支持Python 3,而且仍然试图支持Python 2.5(可以想象,这不利于移植)。这个决定是OpenStack在很早之前做出的,当时还没有进行任何的Python 3兼容性检查。我们已经意识到这个模块在未来会是个大问题,但截止到目前,如何解决还没有具体的计划。
千万别犯同样的错误!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论