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
相关推荐
哈哈不让取名字4 小时前
基于C++的爬虫框架
开发语言·c++·算法
幻云20104 小时前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
花间相见4 小时前
【JAVA开发】—— Nginx服务器
java·开发语言·nginx
扶苏-su5 小时前
Java---Properties 类
java·开发语言
仰望星空@脚踏实地5 小时前
本地Python脚本是否存在命令注入风险
python·datakit·命令注入
LOnghas12115 小时前
果园环境中道路与树木结构检测的YOLO11-Faster语义分割方法
python
一条咸鱼_SaltyFish6 小时前
远程鉴权中心设计:HTTP 与 gRPC 的技术决策与实践
开发语言·网络·网络协议·程序人生·http·开源软件·个人开发
我即将远走丶或许也能高飞6 小时前
vuex 和 pinia 的学习使用
开发语言·前端·javascript
沐知全栈开发6 小时前
SQL LEN() 函数详解
开发语言
钟离墨笺7 小时前
Go语言--2go基础-->基本数据类型
开发语言·前端·后端·golang