Centos7+Nginx+Django+uwsgi坑之ModuleNotFoundError: No module named 'django'
发表于 : | 「CC BY-NC-SA 4.0」 | 阅读 : 3487

部署Django程序后

#项目位置
chdir = /www/wwwroot/testink
module = testink.wsgi

#在根目录 /www/wwwroot/testink
uwsgi --http :18883 --file testink/wsgi.py --static-map=/static=static

以上运行是正常的.

配置[uwsgi]的ini位置 /www/wwwroot/testink/uwsgi.ini

#运行以下
uwsgi --ini /www/wwwroot/testink/uwsgi.ini

#会出现这个错误
  from django.core.wsgi import get_wsgi_application
ModuleNotFoundError: No module named 'django'

网上找到两种方案:

  • 1.使用了virtualenv,在我们uwsgi.ini文件中进行修改,指定我们虚拟环境home即可,如下:
home = /root/.virtualenvs/env_xadmin
  • 2.wsgi.py里面打印sys.path发现是因为path里面并没有包含该安装的site-packages的路径,因此在wsgi.py添加如下语句
import sys
import os
print(sys.path)
sys.path.append('/anaconda3/lib/python3.6/site-packages')

我的情况是第二种.

TOP