![](/img/trans.png)
[英]ImportError: No module named os uwsgi + django + linux
[英]uwsgi + django : ImportError: no module named OS
===============更新===================
我尝试从ini文件中注释掉home,pythonpath,virtualenv和env变量,并在wsgi.py中设置PYTHONPATH,如下所示:
os.environ.setdefault("PYTHONPATH", "/root/virtual_env")
但是,我收到了这个新错误:
> ImportError:没有名为django.core.wsgi的模块
因此,为了解决这个新问题,我创建了一个.pth文件并将其放置在包含以下内容的虚拟环境的站点软件包(即/root/virtual_env/lib/python2.7/site-packages )中:
/root/virtual_env/lib/python2.7/site-packages/django
但是这样做之后,当我运行../bin/uwsgi myproject_uwsgi.ini时,错误仍然存在
=====================更新结束======================
在我的虚拟环境中(通过virtualenv),我仍然遇到
ImportError:没有名为os的模块无法加载应用程序0(mountpoint ='')(找不到可调用项或导入错误) *未加载应用程序。 进入全动态模式*
当我运行../bin/uwsgi --ini myproject_uwsgi.ini时。 以下是上述ini的完整内容。 正如您在下面看到的那样,我已经在pythonpath,virtualenv和env变量/参数中进行了放置,以避开该错误。 仍然没有运气。 我该怎么办? 提前致谢!
#myproject_uwsgi.ini file
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /root/virtual_env/myproject
# Django wsgi file
module = myproject.wsgi:application
# the virtualenv (full path)
home = /root/virtual_env/myproject
pythonpath = /root/virtual_env/myproject
virtualenv = /root/virtual_env/myproject
env = DJANGO_SETTINGS_MODULE=myproject.settings
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# the socket (use the full path to be safe
socket = /root/virtual_env/myproject/myproject.sock
# ... with appropriate permissions - may be needed
chmod-socket = 777
chown-socket = uwsgi:uwsgi
# clear environment on exit
vacuum = true
# other config options
uid = uwsgi
gid = uwsgi
processes = 4
daemonize = /var/log/uwsgi/myproject.log
no-site = true
看来您的virtualenv有问题。
pythonpath
和virtualenv
不应该相等。 Virtualenv应该在您项目的目录中。 例如,如果您的项目位于/ root / myproject中,那么virtualenv应该位于/ root / myproject / virtual_env中。 另外,您的DJANGO_SETTINGS_MODULE不正确。
毕竟,您的uwsgi.ini应该如下所示:
#myproject_uwsgi.ini file
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /root/myproject
# Django wsgi file
module = wsgi:application
# the virtualenv (full path)
home = /root/myproject
pythonpath = /root/myproject
virtualenv = /root/myproject/virtual_env
env = DJANGO_SETTINGS_MODULE=settings
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# the socket (use the full path to be safe
socket = /root/myproject/myproject.sock
# ... with appropriate permissions - may be needed
chmod-socket = 777
chown-socket = uwsgi:uwsgi
# clear environment on exit
vacuum = true
# other config options
uid = uwsgi
gid = uwsgi
processes = 4
daemonize = /var/log/uwsgi/myproject.log
no-site = true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.