Windows 10安裝uWSGI:不可行、失敗了

來源:互聯網
上載者:User

標籤:安裝   技術分享   blog   通過   get   dir   首頁   compiler   位置   

Windows 10家庭中文版,Python 3.6.4,uwsgi-2.0.17.tar.gz,壓縮公用程式-7-zip

 

提示:請不要和我一樣嘗試,浪費時間,去Linux上玩吧!

 

幾個小時的安裝經曆

昨天下午學習到將“Django項目部署到Nginx伺服器”,此部署除了需要Nginx伺服器外,還需要一個和Nginx伺服器

進行通訊的協議軟體——uwsgi。

可是,經過嘗試,最終沒能成功將uwsgi安裝到Windows 10,而且有網友的博文說uwsgi不支援在Windows 10上安

裝,即,不可以!但是呢,官網和網友的博文都表明可以在Windows上安裝Cygwin,然後在Cygwin環境中安裝。

我以為, 沒有必要繼續嘗試在Cygwin上安裝uwsgi等軟體了,直接安裝一個Linux作業系統(Ubuntu?),然後再嘗

試是最好的,畢竟,最終Django項目是要部署到Linux或UNIX上的。

 

安裝過程中出現的錯誤

1.pip安裝

Traceback顯示在uwsgiconfig.py的line 8調用os.uname()[0]發現錯誤:

AttributeError: module ‘os‘ has no attribute ‘uname‘

在IDLE中匯入os模組,使用dir(os)命令進行檢查,的確沒有發現其下有uname屬性(下面是部分):

 

2.python3 setup.py install安裝(uwsgi離線包)

在使用pip命令無法直接安裝成功之後,即可嘗試下載模組的離線安裝包,再進行手動下載了。

評論:pip都無法安裝成功,除開沒找到的原因,下載離線安裝包能安裝成功?表示懷疑~

 

可以從pypi.org網站、uwsgi的Github首頁下載。是pypi.org網站的uwsgi下載頁:

使用7-zip解壓到目前的目錄,得到一個uwsgi-2.0.17.tar,再解壓tar檔案,得到uwsgi-2.0.17檔案夾,然後就可以基於此

檔案夾安裝uwsgi了。

再把uwsgi檔案夾放到合適的位置(有博文說放到Python的lib/site-packages下,當我認為沒必要,直接放C盤下即可)。

接下來,使用命令列進入uwsgi目錄——裡面有一個setup.py檔案用來安裝uwsgi的,執行python3 setup.py install命令,結

果,uname的錯誤仍然存在。

不知道該怎麼辦,,在百度輸入了錯誤,獲得瞭解答——參考資料中的window安裝uwsgi 遇到uname完美解決,即開啟

uwsgiconfig.py檔案進行修改:

-匯入platform模組

-使用platform.uname替換os.uname (總共四個)

 

再次執行python3 setup.py install命令,結果,還是出錯!這次提示:

Exception: you need a C compiler to build uWSGI

需要一個C語言編譯器,而此時的環境中沒有!

經過網路搜尋,可以安裝一個Cygwin解決此問題。好吧,安裝Cygwin。

Cygwin是什嗎?從我的使用經曆來看,就是在Windows上類比了一個Linux的運行環境,更多見官網。

安裝Cygwin:先選擇了一個日本的鏡像(mirror),結果安裝失敗了;後來又選擇了唯一的HK的鏡像(紅框中),安裝成功。

安裝成功:

GCC也有了!(就是我們需要的C編譯器,其實,不用解釋的吧?)

 

下面,將Cygwin中的編譯器命令添加到Windows的環境變數Path中:

 

在Windows命令列中再次執行python3 setup.py install命令,失敗,提示了兩個error:

UWSGI_EVENT_IN、UWSGI_EVENT_OUT

 

那麼,在Cygwin中執行python3 setup.py install命令呢?結果還是失敗!

 

 

此時,快無招了!

 

網路搜尋UWSGI_EVENT_IN、UWSGI_EVENT_OUT相關資訊,最終發現這兩個宏定義出現在uwsgi的core/event.c源檔案中:

 

一看,繼續網路搜尋,中文的、英文的——主要是stackoverflow,可是,沒有解決方案,而且有些博文就

直接說,不支援在Windows上安裝uwsgi!

 

或許過一段時間就可以了,不過,這樣重大的訊息一定不會被一位Python程式員錯過的,對吧?

 

放棄這條路吧!去安裝Ubuntu吧!再去Ubuntu上玩Django+Nginx+uwsgi吧!

 

P.S.

可是,為什麼會這樣呢?poll是什麼(多年前去瞭解過,後來,忘記了)?

關於poll的資料,繼續網路搜尋吧!

Ben.Z

百度百科的poll()

 

無法在Windows上發布Django程式了,不過,還是可以在Windows上測試、練習Django程式的開發的。

還可以通過查看博文學習Nginx+uwsgi的配置的。

那麼,Windows上開發的Django程式可以輕鬆移植到Linux嗎?

 

看來,還是得把Linux好好學習下才是的!

 

參考資料:

uwsgi官網

Django Nginx+uwsgi 安裝配置(菜鳥教程)
uWSGI詳解
windows下python安裝uwsgi (2018-02-28)
Windows7使用nginx+apache部署django項目

window安裝uwsgi 遇到uname完美解決

 

Windows 10安裝uWSGI:不可行、失敗了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.