从Python 2过渡到Python 3的困惑:为什么同时支持两者?

时间:2019-09-27 22:59:13

标签: python python-3.x python-2.7

上下文:将Python 2应用迁移到Python 3

在此处的文档中:https://docs.python.org/3/howto/pyporting.html

他们提到:

  

一旦不再依赖于您,请使用持续集成以确保与Python 2和3兼容(tox可以帮助测试多个版本的Python; pip install tox)

如果您不再受源代码或依赖项的束缚而无法完全过渡到Python 3,为什么还要继续支持Python 2?

这仅仅是考虑何时可以同时使用Python 2和Python 3的用户吗?

如果没有任何东西导入我的Python应用程序,那么完全迁移到Python 3并放弃对Python 2的支持就没有风险了,对吗?

5 个答案:

答案 0 :(得分:4)

  

如果您不再受源代码或依赖项的束缚而无法完全过渡到Python 3,为什么还要继续支持Python 2?

如今,您可能不会费心在一个独立的应用程序中支持Python 2,但是在编写该文档时,Python 2是一种规范,因此支持这两个版本对于广泛使用的应用程序和库至关重要。

  

这仅仅是考虑何时可以同时使用Python 2和Python 3的用户吗?

  

如果没有任何东西导入我的Python应用程序,那么完全迁移到Python 3并放弃对Python 2的支持就没有风险了,对吗?

这取决于您的应用程序所针对的用户群。您可以期望大多数个人/消费者用户的机器上都装有Python 3,或者如果不存在Python 3或没有默认的Python,则可以安装它(尽管请注意,对于非技术用户而言,安装Python 3可能并不简单)。

商业或机构用户 可能需要使用未安装Python 3的操作系统,并且可能无权自行安装Python 3。在这种情况下,您需要支持Python 2,直到这些组织升级到合适的OS版本。

答案 1 :(得分:2)

您错过了文档以您想要同时支持两者 的假设开头:

  

由于Python 3是Python的未来,而Python 2仍在积极使用中,因此最好将您的项目同时用于两个主要的Python版本。 本指南旨在帮助您确定如何最好地同时支持Python 2和3。

这是文档的前提,很自然地,它然后告诉您如何保持代码兼容。是的,Python核心团队会end support entirely in a a short few months time,但这并不意味着此文档是出于这一考虑而编写的。

您可以使用文档将其移植到Python 3,然后完全放弃对Python 2的支持,是的,这也很好。

答案 2 :(得分:-1)

是的,我认为他们仍然支持牢记旧版Python 2代码。

答案 3 :(得分:-1)

python 2不会很快更新,因此最好考虑转移到3

答案 4 :(得分:-1)

如果您已经为Python 2中的Python包索引(PyPI)开发了代码并将其移植为同时支持Python 2和Python 3,则该主题特别相关。您将为都拥有一个“客户基础” 版本至少可以在不久的将来使用。