1

大家好,感谢您花时间看我的问题。

我是 Python 的新手,以为我有 php/mysql 的经验。

我刚刚收到了一个 django 站点的代码存储库,并被要求在服务器上启动并运行它。我已经能够运行 syncdb 并进行迁移。现在我试图在浏览器中导航到我的网站,这是我得到的错误:

ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named settings.py

我的 apach2.conf python 配置如下所示:

<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonOption django.root /myproject
SetEnv DJANGO_SETTINGS_MODULE settings.py
PythonPath "['/home/ubuntu/envs/live/','/home/ubuntu/envs/live/myproject','/home/ubuntu/envs/live/myproject/apps', '/home/ubuntu/envs/stage/myproject', '/home/ubuntu/envs/', '/var/www'] + sys.path"
PythonDebug on

settings.py 文件位于目录 /home/ubuntu/venvs/live/myproject 中。

有人可以在这里帮助我吗?

谢谢!

4

2 回答 2

1

它应该只是:

SetEnv DJANGO_SETTINGS_MODULE settings

没有'.py'。即,它是 Python 模块路径,而不是文件名。

请注意 mod_python 正式是一个死项目。Django 中的支持已被弃用。您应该寻找替代方案而不是 mod_python 来托管 Django。

于 2011-08-18T12:11:47.450 回答
0

我认为你应该翻转以下几行的顺序:

SetEnv DJANGO_SETTINGS_MODULE settings.py
PythonPath "['/home/ubuntu/envs/live/','/home/ubuntu/envs/live/myproject','/home/ubuntu/envs/live/myproject/apps', '/home/ubuntu/envs/stage/myproject', '/home/ubuntu/envs/', '/var/www'] + sys.path"

首先设置可以找到 settings.py 的 Python 路径,然后将 env 设置为该文件。

但是,你真的应该只安装在 mod-wsgi 上,文档非常好

于 2011-08-18T10:34:37.153 回答