如何修复"python version are always returned 2.7 instead of 3.7"



我下载了Python 3.7.3,但Python 2.7.10已经存在。

现在python --version返回 2.7.10。

我该如何解决这个问题?

如果您使用的是 Linux,您可以随时键入python3 --version来检查它是否已安装,并确保它是您要使用的版本。

有几种方法可以使python默认调用 Python 3。例如,您可以创建别名。键入whereis python3,以便获取python3的安装路径(通常它位于/usr/bin/python3中)。如果是这种情况,您只需添加到以下行~/.bashrc

alias python='/usr/bin/python3'

然后,source该文件或重新加载会话。这假设/usr/bin/python3是 Python 3 的位置。请注意,依赖于您的 Python 安装的其他命令(例如pipcoverage)仍然指向 Python 2 安装的命令,因此您可能希望对它们执行相同的操作,或者如果您想安装任何额外的软件包,请确保调用 pip3 而不是 pip。

如果您使用的是 Linux 或 macOS,则python命令是指内置的 Python 2。您需要使用python3命令才能使用 Python 3。

所以运行:

python3 --version

应该给你预期的输出。

此外,当您想在 Python 3 中运行脚本时,您需要使用:

python3 myscript.py

Python2.x和Python 3x都可以存在于一个系统上。在Linux机器上,默认的Python版本是Python 2.x。

因此,如果您想使用 Python 2.x,请键入python2.7。或者python3其他。

安装

  1. 须藤APT更新
  2. sudo apt install python3.9

使用 python3 --version命令检查安装仍返回旧版本。要解决此问题,请执行以下操作:

  1. 创建更新替代项列表。首先,使用以下命令将旧版本添加到列表中:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.[old-version] 1

  1. 现在添加新版本:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2

  1. 键入以下命令以配置版本的优先级状态:

sudo update-alternatives --config python3

  1. 检查默认版本:

python3 --version

不幸的是,由于堆栈溢出问题:我安装了python 3.10.0并在命令提示符下显示版本2.7.2被标记为重复版本,我无法在那里回答这个问题,所以我不得不在这里回答这个问题。

安装 Python 3.10

要在 ubuntu 下安装 python 3.10 并使其成为 python 的默认版本,以下是需要采取的步骤:

首先,即使您认为您已经完成了这些步骤(我已完成),也要再做一次。以前我运行了apt-get安装python3.10,安装程序运行完成并安装了python3.10,但是python3.10二进制文件在文件系统上根本找不到。我不得不再次通过并添加责任死蛇/ppa:

apt install -y software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt install python3.10

您现在应该能够从命令行运行 python3.10,请检查是否可以。

root@XXX:/home/XXX# python
python            python2           python2.7         python2.7-config  python2-config    python3           python3.10        python3.8         python3.8-config  python3-config    python3-wsdump    python-config     
root@XXX:/home/XXX# python3.10
Python 3.10.12 (main, Jun  7 2023, 12:45:35) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> 

使 Python3.10 成为默认的 python3 版本

此时,已安装python 3.10,但是如果您要运行python3 --version,它将为您提供旧版本的python。就我而言,这是python 3.8。我们现在需要指示 python 使用新的 python 3.10 interpeter,我们这样做如下:

首先,我们将 python3.10 添加到列表中:

root@XXX:/home/XXX# update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1

然后,添加后,我们运行 python 配置工具并通过查看列表并选择数字来选择 python 3.10。就我而言,它是选项 1。

root@XXX:/home/XXX# update-alternatives --config python3
There are 2 choices for the alternative python3 (providing /usr/bin/python3).
Selection    Path                 Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.8    1         auto mode
1            /usr/bin/python3.10   1         manual mode
2            /usr/bin/python3.8    1         manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/python3.10 to provide /usr/bin/python3 (python3) in manual mode

现在我们已经选择了要使用的新 python 版本,我们可以在配置工具中进行检查:

root@XXX:/home/XXX# update-alternatives --config python3
There are 2 choices for the alternative python3 (providing /usr/bin/python3).
Selection    Path                 Priority   Status
------------------------------------------------------------
0            /usr/bin/python3.10   1         auto mode
* 1            /usr/bin/python3.10   1         manual mode
2            /usr/bin/python3.8    1         manual mode
Press <enter> to keep the current choice[*], or type selection number: 

按 Enter 键保留当前所选内容。

最后,我们做一个检查,以确保 python3 现在调用 python3.10...

root@XXX:/home/XXX# python3 --version
Python 3.10.12

安装 Python 3.10 虚拟环境

或者,我还必须添加一个python3.10虚拟环境。既然我在这里,我也可以展示一下这是如何完成的:

root@XXX:/home/XXX# apt-get install -y python3-pip

然后我们添加 python3.10-venv:

root@XXX:/home/XXX# apt-get install -y python3.10-venv

此时,python 3.10 现已与虚拟环境一起安装,并设置为默认的 python3 解释器。

最新更新