Linux安装最新版本Python

昨天新版的Python 3.11发布了,官方说3.11比3.10快 10-60%,标准测试集快1.25x,还有其它的方面的更新,那问题来了,Linux下如何更新到最新版本。

1. 官网下载最新版本Python源码

前往Python官网 https://www.python.org/downloads/

download latest python

2. 解压

解压上一步下载的最新版本Python

tar -xvf Python-3.11.0.tar.xz

进入解压后的目录

cd Python-3.11.0

3. 安装依赖

我用的Ubuntu,Debian系对应的依赖为:

sudo apt-get install build-essential gdb lcov pkg-config \
    libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \
    libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \
    lzma lzma-dev tk-dev uuid-dev zlib1g-dev

细心的读者可能会有疑问,你怎么知道依赖这些安装包的,其实Python解压后的源码目录中 README.rst文件里有提到相关依赖说明,安装软件先读其说明文档是个好习惯。如下图所示,链接里面有说明依赖包。

Python readme

4. 编译

这一步没什么好解释的,如果需要调整配置的话,可先运行 ./configure --help 查询帮助信息。

./configure
make

值得一提的是,make可接 j 参数,比如4核心cpu的系统,make -j4 可加快编译速度

5. 安装(重要步骤)

这一步很关键,因为Python是Linux系统的重要软件包,大部分情况下都不推荐直接make install安装,这样会覆盖系统的基础版本Python,导致不必要的意外情况,强烈建议:

make altinstall

make altinstall 会安装到${prefix}/bin/python3,而 ${prefix}/bin/python3 是链接到 ${prefix}/bin/python3.X的,这样多版本可以和谐共存,互不侵犯。

6. 确认

仔细看上一步骤回显的话,最新版本Python默认被安装到/usr/local/bin/python3.11

~ which python3.11
/usr/local/bin/python3.11

7. 自己做个软链接

为了少敲几个字符,可以做个软链接,/usr/bin/python 存在的话,可先备份再删除。 如今大部分系统默认升级到python3,所以选择链接到python而不是python3

sudo ln -s /usr/local/bin/python3.11 /usr/bin/python

8. 安装iPython

iPython 比 Python自带的解释器好用

python -m pip install ipython

9. 最终结果

检查Python和iPython,一切正常

➜  ~ python
Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
➜  ~ ipython
Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.5.0 -- An enhanced Interactive Python. Type '?' for help.

最后,Python官方文档也有一些相关说明,感兴趣的可以看看:https://docs.python.org/3.11/using/unix.html#getting-and-installing-the-latest-version-of-python

最后修改于: Monday, August 28, 2023

相关文章:

翻译: