Win10+Python+Django+Nginx+MySQL开发教程及实例
PaulTsao
本教程共有三篇内容:
第一篇:Win10+Python+Django+Nginx+MySQL 开发环境搭建
第四篇*:创建个人博客
第五篇*:个人博客网站上云部署并运行
第一篇:Win10+Python+Django+Nginx+MySQL 开发环境搭建
环境及版本:【2018-01】
Windows: Win10 专业版 32位
提醒:强烈建议大家基于64位搭建开发环境,原因以后会懂的。(本人Win10系统32位是从Win732位升上来的,里面有延续的虚拟机环境和几个工程,难以说换就换)。
Python:Python2.7.14 32bit(x86)
选择原因:多数Python项目依然沿用此版本,且Windows下目前Python-MySQL只支持Python2.7;推荐采用.msi安装包进行安装,只需双击执行即可。
Django:Django1.8.18 32bit(x86)
选择原因:LTS版本,稳定安全。注意:将.zip压缩包解压到同一根目录;解压后默认是同名双层目录,将其归一,否则绝对路径同名嵌套很容易输错。
MySQL:mysql-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-python:MySQL-python-1.2.5 ;MySQL Connector C6.0.2;VCForPython27.msi
搭配成功:支持Python2.x,验证通过;Python3.x,本人尚未验证;.zip压缩包解压到同一根目录,解压后默认是同名双层目录,将其归一,否则绝对路径同名嵌套很容易输错。
Nginx:nginx-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
用CMD或PowerShell验证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.4和MySQl-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