Centos 7.5 python3.6

发布时间:2019-09-19 08:00:14编辑:auto阅读(1500)

    一、Django 概述

    Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。Django的理念是DRY(Don't Repeat Yourself)来鼓励快速开发!

    Django全貌

    urls.py
    网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
    
    views.py
    处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
    
    models.py
    与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
    
    forms.py
    表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
    
    templates 文件夹
    views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
    
    admin.py
    后台,可以用很少量的代码就拥有一个强大的后台。
    
    settings.py
    Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

    二、系统环境设置

    1、修改系统字符集

    echo 'LANG="en_GB.utf8"' > /etc/sysconfig/i18n && cat /etc/sysconfig/i18n

    2、修改YUM源

    参考
    Centos防火墙&SELINUX关闭及yum源配置

    三、python安装

    1、安装python相关依赖

    yum -y install openssl-devel readline-devel unzip gcc

    2、下载python源码包

    wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

    3、编译安装python

    tar -xvf Python-3.6.1.tgz 
    cd Python-3.6.1
    ./configure --prefix=/usr/local/python36
    make && make install

    查看所安装的工具

    $ ll /usr/local/python36/bin/
    总用量 24660
    lrwxrwxrwx 1 root root        8 12月 12 15:36 2to3 -> 2to3-3.6
    -rwxr-xr-x 1 root root      110 12月 12 15:36 2to3-3.6
    -rwxr-xr-x 1 root root      251 12月 12 15:36 easy_install-3.6
    lrwxrwxrwx 1 root root        7 12月 12 15:36 idle3 -> idle3.6
    -rwxr-xr-x 1 root root      108 12月 12 15:36 idle3.6
    -rwxr-xr-x 1 root root      223 12月 12 15:36 pip3
    -rwxr-xr-x 1 root root      223 12月 12 15:36 pip3.6
    lrwxrwxrwx 1 root root        8 12月 12 15:36 pydoc3 -> pydoc3.6
    -rwxr-xr-x 1 root root       93 12月 12 15:36 pydoc3.6
    lrwxrwxrwx 1 root root        9 12月 12 15:36 python3 -> python3.6
    -rwxr-xr-x 2 root root 12603760 12月 12 15:35 python3.6
    lrwxrwxrwx 1 root root       17 12月 12 15:36 python3.6-config -> python3.6m-config
    -rwxr-xr-x 2 root root 12603760 12月 12 15:35 python3.6m
    -rwxr-xr-x 1 root root     3106 12月 12 15:36 python3.6m-config
    lrwxrwxrwx 1 root root       16 12月 12 15:36 python3-config -> python3.6-config
    lrwxrwxrwx 1 root root       10 12月 12 15:36 pyvenv -> pyvenv-3.6
    -rwxr-xr-x 1 root root      450 12月 12 15:36 pyvenv-3.6
    -rwxr-xr-x 1 root root      230 12月 12 15:39 virtualenv

    4、配置pip  

    vim /etc/pip.conf
    [global]
    index-url = http://pypi.douban.com/simple/ 
    trusted-host=pypi.douban.com
    [list]
    format=columns
    
    /usr/local/python36/bin/pip3 list
    Package    Version
    ---------- -------
    pip        9.0.1  
    setuptools 28.8.0 

    5、安装virtualenv

    /usr/local/python36/bin/pip3 install virtualenv

    执行结果

    Collecting virtualenv
      Downloading http://pypi.doubanio.com/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
        100% |████████████████████████████████| 1.8MB 983kB/s 
    Installing collected packages: virtualenv
    Successfully installed virtualenv-15.1.0

    四、安装django

    1、初始化env环境

    创建一个普通用户

    useradd devops
    passwd devops

    切换到普通devops

    su - devops
    /usr/local/python36/bin/virtualenv ./python36env
    Using base prefix '/usr/local/python36'
    New python executable in /home/devops/python36env/bin/python3.6
    Also creating executable in /home/devops/python36env/bin/python
    Installing setuptools, pip, wheel...done.

    进入虚拟环境

    source python36env/bin/activate
    (python36env) [devops@devops-python36 ~]$ pip list
    Package    Version
    ---------- -------
    pip        9.0.1  
    setuptools 38.2.4 
    wheel      0.30.0 

    2、django版本选择

    Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3.
    Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X
    Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意:Python 2.6 不支持了)
    Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5.  (长期支持版本 LTS)
    Django 1.9.x 支持 Python 2.7, 3.4 和 3.5. 不支持 3.3 了
    Django 1.10.x 支持 Python 2.7, 3.4 和 3.5. 
    Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6(长期支持版本 LTS) 最后一个支持 Python 2.7 的版本
    Django 2.0.x 支持 Python 3.4, 3.5 和 3.6 (注意,不再支持 Python 2)

    3、安装django

    pip install "django>=1.11
    
    (python36env) [devops@devops-python36 ~]$ pip install "django>=1.11,<=1.12"
    Collecting django<=1.12,>=1.11
      Downloading http://pypi.doubanio.com/packages/7e/36/5266e0c51ee9b953d60ea8ea1fea10e268b1368f9c0ad08e2ff76ee9c1b5/Django-1.11.8-py2.py3-none-any.whl (6.9MB)
        100% |████████████████████████████████| 7.0MB 1.9MB/s 
    Collecting pytz (from django<=1.12,>=1.11)
      Downloading http://pypi.doubanio.com/packages/a3/7f/e7d1acbd433b929168a4fb4182a2ff3c33653717195a26c1de099ad1ef29/pytz-2017.3-py2.py3-none-any.whl (511kB)
        100% |████████████████████████████████| 512kB 1.4MB/s 
    Installing collected packages: pytz, django
    Successfully installed django-1.11.8 pytz-2017.3

    4、mysql安装

    数据库安装参考
    Centos7.5安装mysql5.7.24二进制包方式部署

    5、安装pip pymysql

    (python36env) [devops@devops-python36 ~]$ pip install pymysql
    Collecting pymysql
      Downloading http://pypi.doubanio.com/packages/c6/42/c54c280d8418039bd2f61284f99cb6d9e0eae80383fc72ceb6eac67855fe/PyMySQL-0.7.11-py2.py3-none-any.whl (78kB)
        100% |████████████████████████████████| 81kB 2.6MB/s 
    Installing collected packages: pymysql
    Successfully installed pymysql-0.7.11
    
    (python36env) [devops@devops-python36 ~]$ pip list
    Package    Version
    ---------- -------
    Django     1.11.8 
    pip        9.0.1  
    PyMySQL    0.7.11 
    pytz       2017.3 
    setuptools 38.2.4 
    wheel      0.30.0 

    五、配置vim

    yum -y install vim
    
    vim ~/.vimrc
    set tabstop=4
    set shiftwidth=4
    set softtabstop=4
    set expandtab
    set fileformat=unix 
    set nobomb
    set ff=unix
    set ambiwidth=double 
    set fileencodings=utf-8,ucs-bom,cp936
    syntax on
    filetype plugin on 
    set nocompatible
    set completeopt=preview
    set ai 
    set hls
    set nu

关键字