Python 环境安装
本文以截图记录的形式展示如何在主流操作系统上安装 Python 环境。
在 Python 环境选择上,推荐使用较新的 Python 版本。根据官方发布消息 , 自 2020年 1 月 1 日起, Python 2 将停止维护,包括任何新的错误报告、修复和更改。 所以考虑到 Python 3 各个版本的新特性和兼容性,建议选择 Python 3.11 及以上版本。
截止到当前时间(2021-12-03), Python 各个版本的状态如下:
Branch | Schedule | Status | First release | End-of-life |
---|---|---|---|---|
main | PEP 745 | features | 2025-10-01 | 2030-10 |
3.13 | PEP 719 | bugfix | 2024-10-07 | 2029-10 |
3.12 | PEP 693 | bugfix | 2023-10-02 | 2028-10 |
3.11 | PEP 693 | security | 2022-10-24 | 2027-10 |
3.10 | PEP 619 | security | 2021-10-04 | 2026-10 |
3.9 | PEP 596 | security | 2020-10-05 | 2025-10 |
本文安装的版本使用最新的稳定版 python 3.10
,会在如下操作系统上安装:
- Windows 11 : 安装包安装
- Ubuntu Desktop 21 : 源代码编译安装
从 Python 下载页面 找到 Python 3.10 的下载页面 然后下载对应的文件即可。
1 安装
关于 Python 的安装使用的更多细节,可以参考 Python安装和使用 。
1.1 Windows 11
1.1.1 安装 Python 环境
下载 Windows installer(64-bit) 到本地,然后双击运行安装文件。
注意:安装时,需要账户控制权限。
如果想要将 Python 安装到默认目录,直接点击 Install Now
即可。
点击 Customize Installation
:
此时可以选择可选的特性,不过如果你不知道它们是做什么的,或者不清楚你是否需要它们,那么保持默认即可。
然后点击 Next
:
然后进行如下操作:
- 勾选
Install for all users
将 Python 安装为所有用户可用 - 勾选
Add Python to environment variables
将会自动创建 Python 的环境变量。此选项会在 Windows 环境PATH
中新增两个变量C:\devtools\Python310\Scripts\
和C:\devtools\Python310\
。目录为 Python 的安装目录。 - 如果有需要,修改
Customize install location
下的安装路径。
然后点击 Install
,将 Python 安装到指定的目录。此过程需要账户授权。
等待安装完成后,点击 Close
。当然建议点击 Disable path length limit
,来禁用 Windows 下的 260 字节文件
路径的限制。
至此安装完成。
更多关于 Windows 系统的其他细节,请参考 在Windows上使用 Python 。
1.1.2 测试 Python 环境
打开 Windows 的 CMD ,然后输入 python --version
即可获得 Python 版本:
1.2 Ubuntu Desktop 21
对于编译安装,适用于大部分 Linux 系统,除了 Python 安装过程中的依赖包在特定操作系统中有区别外,其他操作都是一致的。
1.2.1 安装依赖
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
1.2.2 安装 Python 环境
下载 XZ compressed source tarball 源码包,然后解压到 /tmp
,
然后解压:
cd /tmp/
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz
tar -Jxf Python-3.10.0.tar.xz
cd Python-3.10.0/
使用 ./configure 进行预编译。在预编译过程中,可以指定要编译到源代码中的内容。使用 ./configure --help 可以查看支持哪些选项。
一般会进行如下操作:
如果需要安装到其他位置,可以使用 --prefix=/usr/bin 指定。默认是安装到 /usr/local/bin 。
当出现如下输出,说明预编译完成:
编译 使用 make 命令编译构建
-j 可以指定并发构建任务数。如果多核 CPU 可以指定核心数。
安装
使用 altinstall 可以避免覆盖系统现有默认命令。即不会覆盖 python 命令。
1.2.3 测试 Python 环境
打开终端,运行 python3.10 --version
会输出 Python 的版本。
至此 Python 环境安装完成。
更多关于 Unix 系统的其他细节,请参考 在类Unix环境下使用Python 。
2 仓库加速
鉴于国内网络的问题,为了快速安装 Python 依赖包,最好使用国内镜像仓库加速 Pypi 的包。
Pypi 国内镜像有很多,现在推荐如下几个:
下面使用阿里云镜像配置,如果需要使用其他镜像仓库,改动 index-url
后面的地址即可:
3 多环境共存
多环境共存是为了在同一个操作系统中,同时使用不同版本的 Python 环境,或者编写的程序需要在 不同版本下运行测试。
3.1 Windows
经测试,由于 DLL 的问题,无法通过 Windows 的 mklink
命令软连接一个新的 python.exe
可执行程序的别名。
3.2 Linux
Linux 本身的优势,可以使用软连接生成不同的可执行文件名。在安装好 Python 3.10 版本后,默认会在生成 /usr/local/bin/python3.10
可执行文件。如果需要将默认的 Python 命令替换为 python3.10
则可以删除原有的 python
命令,然后重新软连接。
# 备份当前默认的 python3 命令到 /tmp
mv /usr/bin/python3 /tmp
# 重新连接 python3 命令
ln -s /usr/local/bin/python3.10 /usr/bin/python3
# 备份当前默认 pip3 命令
mv /usr/bin/pip3 /tmp
# 重新连接 pip3 命令
ln -s /usr/local/bin/pip3.10 /usr/bin/pip3
4 问题排查
4.1 Linux 安装出现问题
如果编译过程中出现问题,请检查依赖是否安装完成。
Debian / Ubuntu 系列操作系统依赖如下:
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
对于 RHEL 系列操作系统,依赖安装如下:
4.2 卸载 Python
注意:如果是 Linux 操作系统,你应该至少保留系统的默认 Python 环境,或者一个其他版本的 PYthon 环境,否则 操作系统可能无法正常使用。
要卸载对应版本的 Python 环境,只需要将系统根目录相关目录查找到,然后删除即可。
对于编译安装的 Python 环境,会将 Python 安装到如下几个目录:
/usr/lib/python3.10
/usr/local/lib/libpython3.10.a
/usr/local/lib/python3.10
/usr/local/include/python3.10
/usr/local/bin/python3.10-config
/usr/local/bin/python3.10
/usr/local/share/man/man1/python3.10.1
运行命令删除:
# 创建备份目录,以便出现问题,可以执行恢复
# 注意不要在 /tmp 下创建,如果重启系统 /tmp 下的文件会删除。
# 放在家目录,可以通过应急模式找到相应文件。
# 等确保操作系统没有任何异常问题的时候,再删除
mkdir ~/removed_python310
mv -f \
/usr/lib/python3.10 \
/usr/local/lib/libpython3.10.a \
/usr/local/lib/python3.10 \
/usr/local/include/python3.10 \
/usr/local/bin/python3.10-config \
/usr/local/bin/python3.10 \
/usr/local/share/man/man1/python3.10.1 \
~/removed_python310
如果你曾使用过 pip3.10
安装依赖,请检查用户目录下是否存在相关依赖目录:
/home/god/.local/lib/python3.10