在做的项目使用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
的版本。
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 &
,问题解决。