python在Linux服务器中安装
从「从零开始」在 Centos7 Linux 服务器 安装 Python 环境并启动 Flask 的完整流程
1. 一键安装编译依赖
yum groupinstall -y "Development Tools"yum install -y wget openssl-devel zlib-devel libffi-devel
这里安装时候可以先参考博客最后面注把 bzip2-devel 也提前安装上。
2. 下载官方源码包 & 本地编译(3.11.9)
cd /optwget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgztar -xzf Python-3.11.9.tgzcd Python-3.11.9./configure --prefix=/opt/python311 --enable-optimizationsmake -j$(nproc)make altinstall
可以直接去官网下载:https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz
下载结束拖到 /opt 目录下。
3. 建立软链,全局可用
ln -sf /opt/python311/bin/python3.11 /usr/local/bin/pyln -sf /opt/python311/bin/pip3.11 /usr/local/bin/pip
验证:
py -Vpip -V

4. 在项目里建虚拟环境(隔离系统)
cd /home/admin/batterypy -m venv venvsource venv/bin/activatepip install -r requirements.txt
我的 flask 项目目录结构:(requirements.txt 是 Python 项目的“依赖清单”,一行一个包,告诉 pip 需要安装哪些第三方库(含版本号)。)
requirements.txt 文件例子:
cd /home/admin/batterycat > requirements.txt <<'EOF'
Flask==2.3.3
Flask-SQLAlchemy==3.0.5
Flask-CORS==4.0.0
PyMySQL==1.1.0
Werkzeug==2.3.7
bcrypt==4.0.1
pandas==2.0.3
openpyxl==3.1.2
python-dotenv==1.0.0
EOF

5. 直接启动(开发调试)
venv/bin/python app.py
注:
手工编译的 Python 3.11 可能缺少系统 bzip2 开发库,会导致 _bz2 扩展没编出来。
系统没有 3.11 的 _bz2.so 就自己装依赖再重新编一次 Python
# CentOS 7/8
yum install -y bzip2-develcd /opt/Python-3.11.9
make distclean
./configure --prefix=/opt/python311 --enable-shared=no --with-ensurepip=install
make -j$(nproc) && make altinstall
再把 venv 重建即可:
cd /home/admin/batteryrm -rf venvpy -m venv venvsource venv/bin/activatepip install -r requirements.txt