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:\Python27\Scripts    # 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:\Python27\Lib\site-packages\Django-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:\WINDOWS\system32> 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_MACHINE\SYSTEM\CurrentControlSet\services\HTTP在右边找到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:\MySQL\MySQLServer-5.5\bin

 

CMDPowerShell验证MySQL是否安装成功:

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

cd D:\MySQL\MySQLServer-5.5\bin

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:\WINDOWS\system32> 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

 

posted @ 2018-01-10 19:02  PaulTsao  阅读(3310)  评论(0编辑  收藏  举报