zoukankan      html  css  js  c++  java
  • Win10+Python+Django+Nginx+MySQL开发教程及实例(1)——开发环境搭建

    Win10+Python+Django+Nginx+MySQL开发教程及实例

     PaulTsao

    本教程共有三篇内容:

    第一篇:Win10+Python+Django+Nginx+MySQL 开发环境搭建

    第二篇:用Python连通操作MySQL

    第三篇:用Nginx运行html网页

    第四篇*:创建个人博客

    第五篇*:个人博客网站上云部署并运行

    第一篇:Win10+Python+Django+Nginx+MySQL 开发环境搭建

    环境及版本:【2018-01】

    Windows: Win10  专业版  32位

      提醒:强烈建议大家基于64位搭建开发环境,原因以后会懂的。(本人Win10系统32位是从Win732位升上来的,里面有延续的虚拟机环境和几个工程,难以说换就换)。

    PythonPython2.7.14 32bit(x86)

            选择原因:多数Python项目依然沿用此版本,且Windows下目前Python-MySQL只支持Python2.7;推荐采用.msi安装包进行安装,只需双击执行即可。

    DjangoDjango1.8.18 32bit(x86)

            选择原因:LTS版本,稳定安全。注意:将.zip压缩包解压到同一根目录;解压后默认是同名双层目录,将其归一,否则绝对路径同名嵌套很容易输错。

    MySQLmysql-5.5.58-win32.msi

            搭配成功:5.5是被Oracle收购前版本,开源的小工具较多;推荐采用.msi格式,双击运行安装更方便。

             mysql-5.6.38-win32

             搭配失败:本来安装的是5.6,因为5.6较5.5升级改进了不少特性,且应用认可度更好。只因为5.6无法与Python2.7不能良好搭配,遂改为5.5。

     MySQL-pythonMySQL-python-1.2.5 ;MySQL Connector C6.0.2;VCForPython27.msi

            搭配成功:支持Python2.x,验证通过;Python3.x,本人尚未验证;.zip压缩包解压到同一根目录,解压后默认是同名双层目录,将其归一,否则绝对路径同名嵌套很容易输错。

    Nginxnginx-1.12.2 

           搭配成功:nginx/Windows-1.12.2,官网stable version版本 。

    1.   安装Python2.7.14

     安装路径:

           D:Python27       # Python安装目录,也是对应系统变量添加路径

           D:Python27Scripts    # Python脚本目录,也是对应系统变量添加路径

     注意:必须保证系统环境变量里添加上述两条路径,没有自动添加则手动添加;否则CMD或PowerShell无法调用并执行Python。

    检验Python是否安装成功:

     管理员身份运行CMD或Power Shell

      Python    #调用Python

    出现以下版本信息即说明安装成功,如图:

      Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32

    Type "help", "copyright", "credits" or "license" for more information.

      

    Ctrl+C或exit()    #退出Python ,返回PowerShell或CMD命令行

    2.   安装Django-1.8.18

    (1)安装路径:

     D:Django-1.8.18        # Django 安装目录

     以管理员身份运行CMD或Power Shell

     cd D:Django-1.8.18             # 进入 Django 目录
    
     python setup.py install         # 执行安装 

      

    (2)检验Django安装是否成功:

     cd C:      #返回PowerShell或CMD命令行
     Python      #进入Python
    
    >>> import django     #在Python中安装Django
    
    >>> django.get_version()  #显示Django版本信息则说明安装成功

    Django模块在Python安装目录中的路径:

    D:Python27Libsite-packagesDjango-1.8.18-py2.7.egg      

     3)运行Python文件,进行测试

     在D:PythonProject目录下新建test.py文件(txt更改后缀为.py即可),文件中写入以下两行代码:  

     Print "Hello World "    # Python 3.x下为Print ("Hello World ")
    
     Input()      # 添加此句是为保持Python处于待输入状态,避免双击运行test.py文件时闪退而难以观察结果,也可不添加此句,后面附上对比。

     进入test.py文件所在目录,运行文件,查看结果:

    C:WINDOWSsystem32> cd D:PythonProject
    
    D:PythonProject> python test.py
         hello world

    证明Python运行正常。输入exit ,退出输入状态。

     提示:在test.py中注释掉Input() ,则直接执行显示结果,并退出到D:PythonProject目录下。

     

    3.   安装Nginx-1.12.2

     安装路径:

    nginx-1.12.2.zip解压到同一根目录D:,双击执行nginx.exe即进行安装,路径默认,不可选择。

     或者进入window的cmd窗口,用cd命令进入到nginx目录:

       start nginx.exe   #  进行nginx的安装

     检验Nginx安装是否成功:

     浏览器地址栏输入127.0.0.1或localhost,出现“Welcome to Nginx!”即说明安装成功,如图: 

    Nginx相应命令(.exe可以去掉),进入nginx1.12.2安装目录后运行:

    >nginx.exe -s stop                   //停止nginx
    
    >nginx.exe -s reload                //重新加载nginx
    
    >nginx.exe -s quit                     //退出nginx
    
    >nginx.exe -s reopen                   //重新打开日志文件
    
    >nginx –v                              //查看Nginx版本

    注意:

    (1)如果Nginx没有运行成功,则最大可能首先是80端口占用。可以更改Nginx默认端口为81,本文即改为81,如何更改见下文。

    (2)或者出现[emery] blind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)报错,可以以管理员身份运行regedit打开键值:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTP在右边找到Start这一项将其改为0,重启系统则System进程不会再占用80端口。

    (3)start nginx 后无报错,有窗口闪退,一般说明Nginx已经运行正常,查看任务管理器中的进程即可得知。

     

    4.   安装MySQL-5.5.38

     Windows10下,Pyhon2.7貌似搭配MySQL5.5的解决方案才完美,(用5.6安装无法顺利用Python连通MySQL,安装5.6的试错教训放在其后,请后来者品鉴),故换MySQL5.5版本进行安装。

    安装MySQLServer-5.5以及Configuration Wizard

         MySQLServer           Root             132456

     

    添加运行程序安装路径到环境变量,如图:

     D:MySQLMySQLServer-5.5in

    CMDPowerShell验证MySQL是否安装成功:

    注意:(1)若未将MySql加入环境变量,切换到mysql的安装目录下的bin目录;(2)若已加入环境变量,则不必切换目录。(本文因之前MySQL5.6影响,已加入环境变量冲突占用变量名称和路径,所以需要进入MySQL的bin目录。)

    cd D:MySQLMySQLServer-5.5in
    
    mysql -h localhost  -u root -p

    输入密码,回车即可

    这时说明MySQL5.5在本机Win10系统下配置正确。

    查看数据库内容,以备之后验证对比:

    Show databases;    #查看数据库

    Use test;         #选择test数据库

    Show tables;    #查看数据库中的表

      查看数据库:test数据库中无任何表。 

    附:Python 3.6.4MySQl-5.6.38试错过程

     试错结论:

    经本人验证,Windows10下,Python 3.6.4和MySQl-5.6.38不能有效连通。查询资料,貌似Windows下Python 2.7才与MySQl-5.5能正常搭配,其他以上版本两者目前均无法优良稳定协同工作;

    提醒注意:

    (1)卸载MySQL先进入,用命令备份,再物理拷贝备份,Drop库表,停止服务,再删掉安装目录,清除注册表,然后重启,再清理系统环境变量;

    (2)安装后任何对MySQL的操作,请确保MySQL的“服务”均开启。

    试错过程:

    MySQL-python-1.2.5.zip压缩包解压安装:

    C:WINDOWSsystem32> cd D:MySQL-python-1.2.5
    
     
    D:MySQL-python-1.2.5>  python setup.py install

     提示无此文件,绝对路径输错,为什么?原因是解压后文件名往往是“双层的”,将其“复合成”一层问题解决。如下图:

      将解压文件包的“双层名称”归一为单层后运行正确,但再次提示错误:

     error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27

     

      MS官网下载Microsoft Visual C++ Compiler for Python 2.7,即VCForPython27.msi,双击并安装。

     再次 python setup.py install,又报错:

     _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    error: command 'C:\Users\apollo\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe' failed with exit status 2

     各种查询资料并验证,恍然大悟,原来Windows下Python2.7与MySQL5.6以上搭配并不友好,Python2.7和3.6的已大不相同,关键是还需要其他依赖包和工具,如MySQL Connector 等。

    参考文献

    [1].   https://www.cnblogs.com/ops-sylar/p/6674644.html

    [2].   https://www.cnblogs.com/saysmy/p/6609796.html

     

    转载引用请注明出处。 文章作者:PaulTsao 文章来源:http://www.cnblogs.com/PaulTsao/ 作者信息:www.linkedin.com/apollocaoy
  • 相关阅读:
    Oracle 执行计划(Explain Plan) 说明
    RMAN backup recovery area 命令
    Linux 终端访问 FTP 及 上传下载 文件
    Putty 工具 保存配置的 小技巧
    Oracle 补丁体系 及 opatch 工具 介绍
    闪回恢复区 (Flash Recovery Area)
    Oracle 10g OCP 043 题库 141185题 共185题
    Oracle 补丁体系 及 opatch 工具 介绍
    ORA16401 archivelog rejected by RFS 解决方法
    多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
  • 原文地址:https://www.cnblogs.com/PaulTsao/p/8260307.html
Copyright © 2011-2022 走看看