在 Linux 机器上在 Python 2.x 和 3.x 之间切换

在 Linux 机器上在 Python 2.x 和 3.x 之间切换

我有两个代码库 build_2.x 和 build_3.x,分别用 python 2.x 和 python 3.x 编码。

我有一台安装了 Python 2.x 的 Linux 机器,但为了我的项目目的,我需要在同一台机器上执行两个版本。

  1. 如何分别运行build_2.x和build_3.x?
  2. 我是否应该先运行 build_2.x,然后在需要运行 build_3.x 之后将 Pthon 更新到 3.x?

那么在这种情况下 virtualenv 的作用是什么?

答案1

有两个程序可以将 Python 代码转换为 Python 2 和 Python 3,或者从 Python 2 和 Python 3 转换,2to3 和 python3-3to2。2to3 是默认安装的,python3-3to2 可以通过以下命令安装:

sudo apt install python3-3to2

要转换名为 example.py 的文件,请运行以下命令:

2to3 -w example.py # translates Python 2 code to Python 3 code 

或者

3to2 -w example.py # translates Python 3 code to Python 2 code

用法
  自动将 Python 2 代码转换为 Python 3 代码 – Python 文档

答案2

一个可能的解决方案pyenv+ virtualenv。这允许临时从 Python2 切换到 Python3(每个项目)。详细的分步说明如下: https://askubuntu.com/a/865644/429130 或此处 http://akbaribrahim.com/managing-python-virtual-environments-with-pyenv-virtualenv/. 关于 virtualenv 的作用的很好的解释在这里:https://stackoverflow.com/questions/29950300/what-is-the-relationship-between-virtualenv-and-pyenv

相关内容