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

 

最新文章

  1. Chrome开发者工具不完全指南(二、进阶篇)
  2. EntityFramework 7 更名为EntityFramework Core(预发布状态)
  3. oracle for循环查找结果
  4. Java中多态的一些简单理解
  5. 给你的Mr.Right画张择偶地图像
  6. 注册表 锁IE首页
  7. Jedis 操作
  8. 如何向java后台的对象中传数组
  9. (转)javabean操作文件正确,但是Jsp调用javabean时文件路径出错问题解决之JavaBean访问本地文件实现路径无关实现方法
  10. 深入浅出MyBatis-Sqlsession
  11. 在vim下,实现nesC语句的高亮
  12. 在Eclipse如何实现在xml文件实现代码提示
  13. java中文件操作《一》
  14. Android系统对话框
  15. stack的empty()
  16. linux中添加快捷命令
  17. Swift用户通知授权
  18. js中this的绑定规则及优先级
  19. 更改mysql 数据目录
  20. session删除

热门文章

  1. 基于Accord.Audio和百度语言识别
  2. POJ 1251 Jungle Roads(最小生成树)
  3. Ubuntu使用之Svn命令小技巧
  4. Gson转Map
  5. ShuffleNet总结
  6. ASP.NET Core 使用 Hangfire 定时任务
  7. Java中进制的转换函数
  8. spring+hibernate项目demo搭建
  9. CentOS 7 学习(二) 配置Nginx反向代理
  10. JavaScript数字例子,二分法,冒泡排序