uwsgi + django导入错误

发布于 2024-09-14 07:29:59 字数 721 浏览 10 评论 0原文

当我将 django 与 uwsgi 和 pythonpath 一起使用时,我遇到了问题。

我有一个名为“project”的 django 项目,它位于 /sites/django/ 目录中,

因此要启动 uwsgi,我使用以下命令:

/opt/uwsgi/uwsgi -s 127.0.0.1:9001 -C -M 4 -t 30 -A 4 -p 4 -d /var/log/uwsgi.log --pythonpath '/sites/django/project/' --module wsgi

如果我在 /sites/django/project 中,它就可以工作。

如果我启动一个 python shell 并写:

import sys
sys.path.append('/sites/django/project/')
import wsgi

它也可以工作。

但是当我在 /sites/django/project/ 之外启动 uwsgi 命令时出现错误:

导入错误:没有名为 wsgi 的模块

所以我不知道为什么会出现 ImportError :它在 shell 中工作。

如果有人有想法, 谢谢。

好吧,我找到了答案,看来这是一个错误,我必须在我的命令中添加“-i”选项(单解释器模式)。

I have a problem when I use django with uwsgi with the pythonpath.

I have a django project named 'project' which is the /sites/django/ directory

So to start uwsgi i use this command :

/opt/uwsgi/uwsgi -s 127.0.0.1:9001 -C -M 4 -t 30 -A 4 -p 4 -d /var/log/uwsgi.log --pythonpath '/sites/django/project/' --module wsgi

If I am in the /sites/django/project' it works.

If I start a python shell and I write :

import sys
sys.path.append('/sites/django/project/')
import wsgi

It works too.

But when i launch the uwsgi command outside the /sites/django/project/ I have the error :

ImportError: No module named wsgi

So I don't know why I have the ImportError : it works in the shell.

If anyone has an idea,
Thanks.

Well, i find the answer, it seems it's a bug and i must add the "-i" option (single interpreter mode ) in my command .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

昔梦 2024-09-21 07:29:59

文档似乎提出了两种可能性。

首先,从 python 路径参数中删除单引号。其次,链接页面上的示例具有 --python-path 而不是 --pythonpath (即使页面顶部的索引另有说明)。值得尝试。

The documentation seems to suggest two possibilities.

First, remove the single quotes from the python path argument. Second, the examples on the linked page have --python-path instead of --pythonpath (even though the index at the top of the page says otherwise). Worth trying.

半边脸i 2024-09-21 07:29:59

如果您使用的是 virtualenv,则需要传入 -H 标志 ( http://projects .unbit.it/uwsgi/wiki/VirtualEnv

if you're using a virtualenv, you need to pass in the -H flag ( http://projects.unbit.it/uwsgi/wiki/VirtualEnv )

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文