在Linux云主机上部署python3.8 并且不和系统原装py冲突

背景

部署Django工程至云主机

部署步骤

1、申请一些内部权限/略
2、使用root下载python3.8源码安装包

下载

3、解压,配置,编译,安装

解压:

cd /root/download/

tar xf Python-3.8.10.tgz

配置:

vi /root/download/Python-3.8.10/Modules/Setup
(把ssl相关的配置去掉注释) 注意SSL的路径需要和系统ssl路径一致
ssl配置

cd /root/download/Python-3.8.10

./configure --prefix=/usr/local/python3

编译,安装

apt-get install make ( 系统不预装make工具)

make && make install

4、创建虚拟环境(系统自带3.5,需要和安装的python3.8做好环境隔离)

这里已经在/home/userPath/python/project放好了工程代码

sudo -iu root

/usr/local/python3/bin/python3 -m venv /home/userPath/python/project/venv

source /home/space/python/project/venv/bin/activate
(确认已进入环境)
cd xxx/django_project/

pip3 install -r requirements.txt

5、创建启动脚本

用于一个django工程的快速启动,可以加上git pull这样就可以快速部署了
启动脚本

踩坑

1、不要卸载系统预装的python3.5,不要改apt源

云主机debian系统的apt工具依赖系统的python3.5,不要卸载

如果apt-get update异常直接找PE

2、安装python3.8(3.6及以上)需要配置ssl,否则pip安装时会报ssl错误

在解压后修改ssl的配置(部署步骤-3-配置)

通过whereis ssl 可以找到 ssl的路径

whereisssl

3、系统预装了openssl,但是openssl的依赖libssl-dev

root用户
apt-get install libssl-dev

4、云主机debian9 下MySQL 变成了mariadb

在安装 pip3 install mysql-client时会报错 mysql_config not found

需要安装下mariadb相关的客户端依赖

apt install libmariadbd18

apt install libmariadbd-dev

apt install mysql-client

5、其他可能需要的依赖,不报错可以不装

sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libffi-dev

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值