最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決uWSGI的編碼問題詳解

 更新時間:2017年03月24日 11:44:31   作者:zrong  
最近在用Flask 寫的應用通過 Supervisor+uWSGI 部署到正式服務器上時出現(xiàn)了錯誤,通過查找相關的資料終于解決了,所以想著分享出來給大家,下面這篇文章主要介紹了解決uWSGI的編碼問題的相關資料,需要的朋友可以參考下。

發(fā)現(xiàn)問題

最近工作中遇到一個問題,在把 Flask 寫的應用通過 Supervisor+uWSGI 部署到正式服務器上時,出現(xiàn)了這樣的錯誤:

Unable to print the message and arguments – possible formatting error.

或者

UnicodeEncodeError: ‘ascii' codec can't encode characters in position 24-25: ordinal not in range(128)

有趣的是,直接在 Python 環(huán)境下運行的時候,沒有這樣的錯誤。使用 uwsgi uwsgi.ini 這種方式來運行也正常。

由于對 unicode 的支持不夠完善,這種報錯經常會出現(xiàn)在 Python2 中,但我的所有程序都在 Python3 中寫成,不應該再出現(xiàn)這樣的錯誤。況且,所有的 python 文件都在首行設定了編碼:

# -*- coding: utf-8 -*-

我的環(huán)境如下:

  • Ubuntu 16.04.1 LTS
  • Python 3.5.2
  • uWSGI 2.0.14 (in python3 pip)
  • Supervisor 3.3.1 (in python2 pip)

uwsgi.ini 配置文件內容如下:

[uwsgi]
master = true

wsgi-file = manage.py
callable = app

processes = 2
threads = 2
max-requests = 6000
chmod-socket = 664

uid = app
gid = app

buffer-size = 32768

venv = {project_dir}/venv

; http = 127.0.0.1:5001

logto = {project_dir}/logs/uwsgi.log

由于直接使用 Python 和 uwsgi 都不會出現(xiàn)這樣的錯誤,因此可以判斷應該是環(huán)境編碼設置導致的問題。

查看服務器的編碼如下:

% locale
LANG=C
LANGUAGE=C:
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

發(fā)現(xiàn) LANG 和 LANGUAGE 環(huán)境變量并沒有設置。

可以在 uwsgi.ini 中設定這兩個環(huán)境變量的值。經過測試,發(fā)現(xiàn)實際起作用的是 LANGUAGE 。

env LANG="en_US.UTF-8"
env LANGUAGE="en_US.UTF-8"

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者使用python能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Python中往列表中插入字典時,數(shù)據重復問題

    Python中往列表中插入字典時,數(shù)據重復問題

    這篇文章主要介紹了Python中往列表中插入字典時,數(shù)據重復問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python 實現(xiàn)列表的切片操作允許索引超出范圍

    python 實現(xiàn)列表的切片操作允許索引超出范圍

    這篇文章主要介紹了python 實現(xiàn)列表的切片操作允許索引超出范圍,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python編程培訓 python培訓靠譜嗎

    python編程培訓 python培訓靠譜嗎

    現(xiàn)在大家都知道,比較火的編程語言就是python了,很多朋友都想學習python編程,想上一個好的python培訓班,小編今天給大家全面分析一下關于python編程培訓方面的問題,希望能給你答疑解惑。
    2018-01-01
  • 卡爾曼濾波數(shù)據處理技巧通俗理解及python實現(xiàn)

    卡爾曼濾波數(shù)據處理技巧通俗理解及python實現(xiàn)

    這篇文章主要為大家介紹了卡爾曼濾波數(shù)據處理技巧的通俗理解及python實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法

    Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法

    這篇文章主要介紹了Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法,返回false的原因是路徑使用了相對路徑,使用絕對路徑就可以解決這個問題,需要的朋友可以參考下
    2015-02-02
  • 用python實現(xiàn)的去除win下文本文件頭部BOM的代碼

    用python實現(xiàn)的去除win下文本文件頭部BOM的代碼

    windows環(huán)境下新建或編輯文本文件,保存時會在頭部加上BOM。使用ftp上傳到linux下,在執(zhí)行時第一行即報錯。以下方法可以去除BOM頭,有需要的朋友可以參考下
    2013-02-02
  • Django實現(xiàn)前后端登錄

    Django實現(xiàn)前后端登錄

    這篇文章主要介紹了Django實現(xiàn)前后端登錄的示例,幫助大家更好的理解和學習使用Django,感興趣的朋友可以了解下
    2021-04-04
  • 如何使用Python?VTK高亮顯示actor

    如何使用Python?VTK高亮顯示actor

    這篇文章主要介紹了如何使用Python?VTK高亮顯示actor,通過Python-VTK在同一個窗口中,高亮顯示選中的actor。本例子中的代碼,當窗口中的圓球actor被選中時,會變成紅色,并且會顯示actor三遍面片邊緣信息,下文相關內容需要的小伙伴可以參考一下
    2022-04-04
  • python創(chuàng)建堆的方法實例講解

    python創(chuàng)建堆的方法實例講解

    在本篇文章里小編給大家整理的是一篇關于python創(chuàng)建堆的方法實例講解內容,有興趣的朋友們可以學習下。
    2021-03-03
  • python opencv圖片編碼為h264文件的實例

    python opencv圖片編碼為h264文件的實例

    今天小編就為大家分享一篇python opencv圖片編碼為h264文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論

东丽区| 广汉市| 赤城县| 都匀市| 车致| 太仆寺旗| 贵溪市| 大方县| 蒲城县| 小金县| 台山市| 修武县| 绵阳市| 阳谷县| 筠连县| 永定县| 怀柔区| 和政县| 华容县| 洪江市| 清徐县| 云浮市| 建昌县| 左贡县| 府谷县| 新蔡县| 洞头县| 元阳县| 侯马市| 阳山县| 宁河县| 保靖县| 衡水市| 修武县| 萨嘎县| 阿巴嘎旗| 新化县| 和硕县| 靖宇县| 应城市| 噶尔县|