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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM