其实本身自己是比较喜欢 javascripts 的,但是 Python 也是必须掌握的一项技能。
干 devops ansible 跟 python 也脱不了干系,所以准备用 django 开发一个自动上线的系统。
先准备一下 Python 以及 Django 的环境好了。
一、准备 Python
秘籍,不要用什么 venv 之类的东西,污染环境。直接下载源代码编译安装,然后把 py 封到自己的密闭是王道,最后引用一下 $PATH ,想用哪个就用哪个。
注意以下的步骤,先装 gcc 的编译环境,然后装 openssl 的高版本,并且配置好 ldconfig,否则 py 的 ssl 会报错。
最后下载 python 3.8.15 编译安装,生产环境,最好采用最新版本往后错两个版本。
编译安装到 /export/servers/python3目录
1yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
2
3wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz
4./config --prefix=/export/servers/openssl
5
6vi /etc/ld.so.conf
7/export/servers/openssl/lib
8ldconfig -v
9
10wget https://www.python.org/ftp/python/3.8.15/Python-3.8.15.tgz
11./configure --prefix=/export/servers/python3 --with-openssl=/export/servers/openssl --with-ssl-default-suites=openssl
最后一步:
1export $PATH=/export/servers/python3/bin:$PATH
这样就完成了 python 的安装
二、配置Django
先升级一下pip到最新版本
1/export/servers/python3/bin/python3.8 -m pip install --upgrade pip
2
3pip3 install django
4pip3 install pysqlite3
5pip3 install pysqlite3-binary
为什么要这么搞,因为 django 要求 sqlite 的版本比较高,无法升级,干脆换掉它改成 pysqlite3 就好了
1vi /export/servers/python3/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py
2
3
4#from sqlite3 import dbapi2 as Database
5from pysqlite3 import dbapi2 as Database
这样 django 的环境就搭好了