编译安装纯净python3,不干扰已存在的任何版本python
安装依赖库
1 | # 基于apt的系统 (如 Debian, Ubuntu, Mint) |
准备python源码
在 https://www.python.org/downloads/
找到合适的版本并下载源码
编译安装
以
python 3.9.5
为例。
执行源码包下载及编译安装流程,请确保网络状况良好
1 | !/bin/bash |
FAQ
1. 下载安装包失败?
删除已下载的文件,并在检查网络后重试。
2. 编译过程失败?
尝试去掉 --enable-optimizations
选项并重新配置编译安装
3. 安装过程没有权限?
安装过程是绿色可靠的,之所以上述代码在安装时仍然使用了sudo,
但这只是将程序安装到 /usr/local/
目录下所必需的。
把安装目标位置修改为其他存在权限的目录下,可以去掉 sudo
操作。
4. CentOS 编译时仍然提示缺少依赖?
尝试: sudo yum -y groupinstall "Development Tools"
,
然后使用 make clean
清理掉编译缓存,接着继续重试配置、编译、安装等操作。
5. WARNING: The script pip3.9 is installed in ‘/usr/local/python395/bin’ which is not on PATH.
可以忽略。这个只是警告python程序的目录无法被直接找到,可以选择将此路径添加的 PATH 环境变量即可。
6. WARNING: Running pip as root will break packages and permissions. You should install packages reliably by using venv: https://pip.pypa.io/warnings/venv
由于在安装步骤我们使用了sudo,导致对应的文件属主都是root,将其修改回来即可。
如 sudo chown -R user:group /usr/local/python395
。
当然也可以选择在配置编译前,指定一个普通用户的安装目录,同时去除掉安装时的 sudo
亦可。
7. 不需要纯净安装,如何将 python 加入环境变量?
方案一: 在安装时将 sudo make altinstall
替换为 sudo make install
方案二: 在 ~/.bashrc
/etc/bashrc
等文件中任一个加入以下语句即可。注意要修改python路径为自己的实际安装路径。
1 | export PATH=$PATH:/usr/local/python395/bin |
- 注意此时的
/usr/local/python395/bin
路径下仅有 python3.9 和 pip3.9 等文件,直接终端输入 python3 是无法找到这里的。 - 需要将 python3 的符号链接指向这里的 python3.9 才能完成配置。 即
ln -s /usr/local/python395/bin/python3.9 /usr/bin/python3