CentOS7部署Python环境

python生产环境构建

在线上环境中 python环境 的设置也是尤为重要的, 这里主要介绍单体应用的环境设置, 容器环境只需要采用相应镜像即可; 在线上环境中同样采用 virtualenv 来针对不同的项目及异步程序进行环境的设定, 根据项目根目录中提供的 requirements.txt 包版本控制文件进行依赖项的安装及同步; 为了更好的对 python版本 的控制, 采用源码部署是通用的方式;

下载python安装包

bash 复制代码
下载安装包

$ yum -y groupinstall "Development Tools"
$ yum -y install gcc zlib zlib-devel libffi libffi-devel readline-devel openssl-devel openssl11 openssl11-devel sqlite-devel

$ vim /etc/profile.d/openssl11.sh
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
$ source /etc/profile

$wget https://www.python.org/ftp/python/3.12.5/Python-3.12.5.tar.xz
$ tar xf Python-3.12.5.tar.xz -C /opt/
$  cd /opt/Python-3.12.5/
$ ./configure --prefix=/usr/local/python312 && make && make install

$ vim /etc/profile.d/python312.sh
export PATH=$PATH:/usr/local/python312/bin
$ source /etc/profile   让配置立即生效


$ python3
Python 3.12.5 (main, Dec 27 2022, 12:20:43) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

优化配置,配置pip源及pip3和pip关联

bash 复制代码
# 设定 mirros.ustc.edu.cn pip源
$ pip3 install -i https://mirrors.ustc.edu.cn/pypi/web/simple pip -U
$ ln -sf /usr/local/python312/bin/pip3 /usr/local/python312/bin/pip
# - s 创建软连接
# - f 如果之前有,那么就删除,然后重新创建,相当于覆盖
$ pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

配置虚拟环境

bash 复制代码
# 设定虚拟环境
$ pip install virtualenv

$ mkdir -p /myenv/envs/apps	 // 创建各项目存放虚拟环境的目录
$ mkdir -p /myenv/apps			 // 创建存放项目的目录

$ virtualenv -p $(which python3) /myenv/envs/apps/project_name		// 创建虚拟环境
// python3.12 -m venv /myenv/envs/apps/myenv


$ source /myenv/envs/apps/project_name/bin/activate				    // 激活切换虚拟环境
(project_name) $  python
Python 3.12.5 (main, Aug 14 2024, 15:52:27) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

(project_name) $ pip install ipython		// 安装开发工具 IPython

若要退出虚拟环境:
deactivate
相关推荐
User_芊芊君子5 分钟前
【JavaSE】复习总结
java·开发语言·python
Nuyoah11klay6 分钟前
华清远见25072班网络编程day1
linux·服务器·网络·网络编程
计算机毕业设计木哥7 分钟前
计算机毕业设计 基于Python+Django的医疗数据分析系统
开发语言·hadoop·后端·python·spark·django·课程设计
努力学习的小廉10 分钟前
深入了解linux系统—— 日志
linux·运维·服务器
橘颂TA11 分钟前
【Qt】项目的创建 and 各个控件的使用
开发语言·qt
Python×CATIA工业智造12 分钟前
Python索引-值对迭代完全指南:从基础到高性能系统设计
python·pycharm
我有一颗五叶草14 分钟前
线程间通信
java·开发语言
测试界清流15 分钟前
postman接口功能测试
开发语言·lua
Luchang-Li1 小时前
sglang pytorch NCCL hang分析
pytorch·python·nccl
qinyia2 小时前
Wisdom SSH 是一款创新性工具,通过集成 AI 助手,为服务器性能优化带来极大便利。
服务器·人工智能·ssh