uwsgi 的 ImportError: No module named 'encodings' 错误

2019-08-20 11:31:30 浏览数 (1)

在做的项目使用Django REST做后端,发现使用python3 manage.py runserver时能够正常启动,使用uwsgi时报错:

Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings'

经查,原因是我用的python版本为3.5,用virtualenv创建虚拟目录时,默认版本为2.7。解决方法是生成虚拟目录时指定python的版本。

代码语言:javascript复制
rm -rf .env                          # 删除生成的虚拟目录 
virtualenv -p /usr/bin/python3 .env/ # 重新创建虚拟目录,指定使用python3
source .env/bin/activate             # 激活虚拟环境
pip install -r requirements.txt      # 安装包

然后 nohup uwsgi -H /home/user/projects/.env/ --ini myuwsgi.ini & ,问题解决。

0 人点赞