返回介绍

13.2 外部库

发布于 2024-01-23 21:41:45 字数 736 浏览 0 评论 0 收藏 0

你的头号敌人就是所依赖的外部库。如果你读了我在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文