我已经使用 Ubuntu 20.04 几个月了,一切进展顺利,但是最近我遇到了 2 个遗留应用程序,我需要开始支持它们需要 Python 2。尽我所能,我有至少有以下选择:
我宁愿远离 VM 选项 b/c 我经常使用不会通过 VM 的 GPU,而且 b/c 我做了很多硬件/软件接口,使用 VM 可能会导致各种问题。另外我一般不喜欢虚拟机(崩溃、鼠标/键盘/屏幕打嗝、性能缓慢等)
老实说,我承认我很少使用虚拟环境,但是我可以说我不倾向于这个选项,因为我将支持的 2 个遗留应用程序在不同的地方调用 Python(调用新的文件)进程等),我怀疑虚拟环境将无法处理。此外,我还阅读了有关在虚拟环境中使用完整独立版本 Python 的问题,例如How to create python2.7 virtualenv on Ubuntu 20.04。
Ubuntu 18.04.5 很棒,但我现在不想回溯,这让我不得不考虑安装 Python 2。在快速谷歌搜索后,我发现许多网站解释了在 Ubuntu 20.04 中安装 Python 2 的步骤(例如https: //linuxconfig.org/install-python-2-on-ubuntu-20-04-focal-fossa-linux或https://www.vultr.com/docs/how-to-install-python-2-on- Ubuntu的20-04),大部分的这些甚至还包括关于如何使用的指令update-alternatives
,使python
默认的Python 2,这是在我来说,我支持我前面提到的传统的选项之一是必要的。
我觉得奇怪的是,安装一个完整的其他版本的 Python 这么重要的事情不会导致 Ubuntu 出现问题,因为今天许多 Linux 实用程序都使用 Python。另一方面,Python 2 由 Canonical https://packages.ubuntu.com/focal/python2作为官方包提供,它们通常非常擅长包集成。
此时我的问题是:
在 Ubuntu 20.04 中安装了 Python 2 的任何人都可以澄清这是否会导致问题?是否有安装 Python 2 后无法运行的常见应用程序?我应该了解或注意与此相关的任何其他“问题”吗?
如果我继续与上述说明(update-alternatives
为了使python
默认到Python 2)将潜在原因的问题?特别是与此附加步骤有关的任何“问题”?
有没有人在 Ubuntu 中尝试过 Python 2 虚拟环境配置(没有 Python 2 本机安装)?真的像这个页面https://computingforgeeks.com/how-to-install-python2-with-virtualenv-on-ubuntu/听起来那么简单吗?虚拟环境是否适用于支持调用其他脚本、使用python
(期望它是 Python 2)、跨/分叉其他进程等的重要应用程序?
如果在 Ubuntu 20.04 上安装本机 Python 2 和/或虚拟环境选项有问题,是否还有其他我没有在这里介绍的好选项?
Tho*_*ard 10
- 在 Ubuntu 20.04 中安装了 Python 2 的任何人都可以澄清这是否会导致问题?是否有安装 Python 2 后无法运行的常见应用程序?我应该了解或注意与此相关的任何其他“问题”吗?
你可以这样做,但在不久的将来 Python 2 可能会出现问题 - 请注意我这篇文章的后面部分!
python2
默认情况下安装应该python
与 Python 2 等效 - 如果它不那么......
- 如果我继续上面的说明(更新替代品,使 python 默认为 Python 2)是否可能会导致问题?特别是与此附加步骤有关的任何“问题”?
已经有用于此的软件包 -python-is-python2
就是您想要的软件包。安装,一旦你安装Python 2.这会处理的链接python
来python2.7
。
- 有没有人在 Ubuntu 中尝试过 Python 2 虚拟环境配置(没有 Python 2 本机安装)?真的像这个页面https://computingforgeeks.com/how-to-install-python2-with-virtualenv-on-ubuntu/听起来那么简单吗?虚拟环境是否适用于支持调用其他脚本的重要应用程序、使用 python(期望它是 Python 2)、span/fork 其他进程等?
我不使用普通的 virtualenv 来获取与系统 Python 不同的 Python 安装。我为此使用PyEnv,因为它使 Python 的个人用户空间安装。您将需要python
和python2.7
已安装的构建依赖项-sudo apt build-dep python python2.7
应该这样做。
- 如果在 Ubuntu 20.04 上安装本机 Python 2 和/或虚拟环境选项有问题,是否还有其他我没有在这里介绍的好选项?
本机安装和 PyEnv 方法都不会破坏任何东西。但是有很多事情你需要注意。
pip install ...
程序)(注意:一些发行版可能对 Python 2提供有限的支持,但是所有仍然依赖 Python 2 并且没有迁移到 Python 3 的东西都应该被拒绝)
截止四天前,Python PIP 将不支持 Python 2 和底层pip
模块的 21.0 版本。如果您遵循 PyEnv 或独立于 System Python 的单独 Python 2 安装并python-pip
安装,您将无法再获得 Python 2 的 Python 模块。
鉴于您正在处理遗留的 Python 2 程序,我强烈建议您为 Python 3 重写程序。如果您必须在 2020 年 EOL 日期后的一两年内维护这个遗留程序,那么您将遇到大量问题 - 对 Python 2 的支持已在上游逐步淘汰,并且 PIP 不再支持 Python 2 您将开始遇到大量问题,继续保持 Python 2 应用程序的存在。
对于大多数程序来说,将 Python 2 程序移植到 Python 3 并不是非常困难。如果你的依赖库(而不是底层的 Python 2 代码本身)只是Python 2,那么你将遇到长期支持问题——而且你真的应该寻找更换/升级的过程。
归档时间: |
|
查看次数: |
2527 次 |
最近记录: |