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

1tar -xvf Python-3.11.0.tar.xz

进入解压后的目录

1cd Python-3.11.0

3. 安装依赖

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

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

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

Python readme

4. 编译

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

1./configure
2make

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

5. 安装(重要步骤)

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

1make altinstall

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

6. 确认

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

1which python3.11
2/usr/local/bin/python3.11

7. 自己做个软链接

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

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

8. 安装 iPython

iPython 比 Python 自带的解释器好用

1python -m pip install ipython

9. 最终结果

检查 Python 和 iPython,一切正常

1➜  ~ python
2Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0] on linux
3Type "help", "copyright", "credits" or "license" for more information.
4>>>
5➜  ~ ipython
6Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0]
7Type 'copyright', 'credits' or 'license' for more information
8IPython 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, October 16, 2023
欢迎关注微信公众号,留言交流。

相关文章:

翻译: