一  下载python源码包

网址:https://www.python.org/downloads/release/python-362/

下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

二   安装

1  安装python前必须安装 python依赖库环境(很重要)

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

2  解压缩源码包

  tar命令也可以解压缩tgz压缩包,tar压缩包

  tar -xvf Python-3.6.2.tgz

     注:白色 普通文件   蓝色:文件夹   绿色:可执行文件

3  切换源码包目录

  cd Python-3.6.2

4  编译且安装

  1.释放编译文件makefile,这makefile就是用来编译且安装的

    ./configure是在这个文件夹里面的可执行命令,所以要有第三步的cd源码包的操作

    ./configure  --prefix=/opt/python36/

      --prefix  指定软件的安装路径

  2.make编译:在源码目录里面敲的命令

    确认当前文件夹有makefile文件,直接输入make命令

  3.编译且安装(只有在这一步才生成/opt/python36文件夹):在源码目录里面敲的命令

    make install

  4.配置python3.6的环境变量

    配置软连接    或 配置path环境变量(2选1即可)

    配置软连接

    ln -s /opt/python36/bin/python3.6   /usr/bin/python3

    ln -s /opt/python36/bin/pip3    /usr/bin/pip3

    或配置path环境变量

    需要写入到文件永久生效,否则只是临时生效  配置文件/etc/profile

    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin

    编辑这个文件,将上述PATH加到最后一行,保存

    vim /etc/profile

    source /etc/profile  读一下这个文件使其生效

 

一路安装django都没有问题,但是在启动django服务时可能会报错:

django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17).

 这是因为centos自带的是3.7.17版本sqlite数据库django已经不支持,必须要3.9.0以上,如果要使用sqlite3作为数据库,就需要升级,替换掉老的sqlite版本

具体步骤

1.下载sqlite源码包安装(我习惯在/opt目录下操作)

wget http://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz

2.解压

tar xvf sqlite-autoconf-3280000.tar.gz

3.编译安装

  1.  cd 进sqlite的解压包文件夹 cd sqlite-autoconf-3280000

  2.  ./configure --prefix=/opt/sqlite3  编译到/opt/sqlite3文件夹下,这是我的命名习惯

  3.  make

  4. make install

  结束后在/opt里面会有一个sqlite3文件夹,即编译成功

4.替换版本

  1.查找老的sqlite在哪个目录下  whereis sqlite3

   找到位置在/usr/bin/sqlite3,为防止还需要用老的sqlite3,因此只做改名,不删除

   mv /usr/bin/sqlite3 /usr/bin/sqlite3old

  2.将新的sqlite3路径做成软连接添加到/usr/bin中替代老的sqlite3

     ln -s /opt/sqlite3/bin/sqlite3   /usr/bin/sqlite3

5.修改共享库

  vim /etc/profile

  export LD_LIBRARY_PATH="/usr/local/sqlite/lib"  添加进去

6.重读配置使其生效

  source /etc/profile

可以正常启动django服务了

 正常启动django服务后,如果在浏览器打不开,则很可能是Linux防火墙问题

解决办法:参考防火墙命令,关闭防火墙或者添加端口访问