【发布时间】:2015-04-03 17:58:53
【问题描述】:
================ 更新 ===================
我尝试从 ini 文件中注释掉 home、pythonpath、virtualenv 和 env 变量,并在我的 wsgi.py 中设置 PYTHONPATH,如下所示:
os.environ.setdefault("PYTHONPATH", "/root/virtual_env")
但是,我收到了这个新错误:
> ImportError: No module named 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
【问题讨论】:
-
您的实际虚拟环境在哪里(通常不是您的源代码所在的位置)。
-
它的 /root/virtual_env