马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在 Linux(CentOS 7)中从零搭建 Python 3.9 环境
这篇记录 CentOS 7.6 上手动编译安装 Python 3.9.5 的完整过程。之所以要源码装,最常见的原因是:系统自带的 Python 是 2.7,很多工程项目、爬虫、运维脚本已经跑在 Python 3 上了,直接换掉系统 Python 会让 yum、iptables 这些依赖 Python2 的工具全崩。所以正确做法是「并存安装」,把 Python3 装到 /usr/local/python3,不动系统原有的 2.7。
一、先检查系统里已有什么版本
先敲 python --version,输出通常是 Python 2.7.5,说明当前默认用的是 2.7。
再敲 python3 检查系统有没有装 Python3。CentOS 7 默认没有预装 Python3,会提示 command not found——这就意味着需要自己下载安装。
二、装依赖包(这步最关键)
编译 Python 之前必须先把开发库装齐,这一步很重要,否则后续使用会频繁报错——典型症状是 pip install 时找不到 ssl 模块。
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel python3-devel libffi-devel
这条命令把压缩、加密、读行、数据库、ffi 这几类编译期需要的头文件和库一次性装全。少装任何一项,后面编译都可能在这里卡住。
三、下载 Python 安装包
下载地址:https://www.python.org/downloads/source/。历史版本直接进 https://www.python.org/downloads/release/python-395/。
把 Python-3.9.5.tgz 传到 /opt/software 目录:
- 用 Xshell 连上服务器,
cd /opt/software;
- 开 Xftp,选中下载好的安装包,上传到
/opt/software;
- 关掉 Xftp,回到
/opt/software 跑 ll,能看到安装包就传成功了。
五、解压
tar -xvJf Python-3.9.5.tar.xz -C /opt/module
把 Python-3.9.5.tar.xz 解压到 /opt/module 目录下。解压完会看到一个 Python-3.9.5 的源码目录,后续操作都在这个目录里进行。
六、编译安装
1. 先建安装目录
为了避免覆盖 Python2 版本,装 Python3 之前在 /usr/local 下新建一个目录 python3 作为 Python3 的安装路径:
sudo mkdir /usr/local/python3
2. 检查编译套件
跑 gcc 看有没有装;没装就 sudo yum install gcc。编译源码没有编译器是开不了工的。
3. 配置安装路径并编译
./configure --prefix=/usr/local/python3
sudo make && sudo make install
make 那一步耗时比较久(几分钟到十几分钟),别中断。
4. 建立软链接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
这样在任意位置敲 python3 都能找到新装的版本,而且不会覆盖系统的 /usr/bin/python。
5. 验证三个版本
python -V 看 python 版本号(还是 2.7,这是对的);python3 -V 看 python3 版本号(应该 3.9.5);pip3 -V 看 pip3 版本号。
七、配置环境变量
sudo vim /etc/profile 打开环境变量配置文件;
- 写入
export PATH=/usr/local/python3/bin PATH;
- 存盘后执行
source /etc/profile 让配置生效。
注意第一条命令里的路径是 /etc/profile(不是家目录下的 .bashrc),因为这是全系统级的环境变量。
八、运行测试
跑 python3 进入 Python 交互环境,能出现 >>> 提示符就说明环境可用了。再 pip3 install requests 随便装一个包验证网络与 pip 都正常。
九、两个高频坑
- 没有权限错误:切到普通用户跑
make && make install 会报 Permission denied。解决方案:切回 root 用户再执行,或者普通用户下用 sudo make && sudo make install。注意 sudo 编译时有些步骤仍会因为用户态不完整而失败,最稳还是直接 root 操作。
- 装完 python3 但 pip 装包报 ssl 错误:多半是第二步
openssl-devel 没装,或者装依赖的时机在编译之后。补装依赖后必须重新编译安装(重新跑 configure + make install),光补库没用。
小结
核心顺序就六步:装依赖 → 下源码 → 解压 → configure 指定 prefix → make install → 建软链接配 PATH。只要把依赖包装全、安装目录不要指向系统 Python,就能和 2.7 和平共存。以后这台机器上跑 Python3 项目,用 python3;跑 yum 之类的系统工具,走原来的 python,互不干扰。
qidao123.com企服评测-应用市场 编辑提示 |