一、問題由來:
我們用python Django開發web應用時,開發環境里使用 python manage.py runserver 來運行服務器。這只適用測試環境。
正式發布的服務,我們需要一個可以穩定而持續的服務器 ,本文將以 Nginx 為例。我們使用Nginx + UWSGI + Django來部署我們的Django代碼
然后,linux上pip下載UWSGI時,主要報錯如下(圖為網圖,報錯一致,自己未截圖,取自:https://blog.csdn.net/zhangyichuan_dlut/article/details/103509382,侵刪):
可以看出是gcc返回的錯誤,
搜索得知,是因為 pip里的uwsgi包比較舊,系統中的gcc版本過高,會有報錯的情況
二、解決方案:
1、使用conda下載uwsgi,(由於anaconda本身似乎不含有此包,用下面命令):
conda install -c conda-forge uwsgi (親測有效)
下面是參考中的其他conda下載命令,(未驗證,參考地址:https://github.com/unbit/uwsgi/issues/1770)
To install this package with conda run one of the following:
conda install -c conda-forge uwsgi
conda install -c conda-forge/label/gcc7 uwsgi
conda install -c conda-forge/label/broken uwsgi
conda install -c conda-forge/label/cf201901 uwsgi
conda install -c conda-forge/label/cf202003 uwsgi
2、將系統中的gcc改回較低版本后,再次運行pip install uwsgi,實現下載(未驗證)
#查看當前系統安裝所有版本的gcc ls /usr/bin/gcc* -l #如果gcc有5以下的版本,則不用在安裝 sudo apt-get install gcc-4.8 #更改gcc系統默認版本 sudo rm /usr/bin/gcc #刪除已有軟連接 sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc #創建指向gcc4.8的軟連接
pip install uwsgi
(注意:網上許多的conda下載解決方案中,即使conda update conda是最新版,也無法直接conda install uwsgi實現下載,需要用博主上面的conda conda install -c conda-forge uwsgi)