0

好吧,我正在尝试使用 fastcgi 在我的网络服务器上 delpoy django。我快完成了,但是由于某种原因,当我运行 fastcgi 脚本时,它无法找到我的 settings.py。

这是我得到的错误:

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

调度.fcgi:

#!/usr/bin/python2.7

import sys
import os


sys.path.append('/home/skybluep/website/skyblue')
os.chdir("/home/skybluep/website/skyblue")
#sys.path.insert(0, '/home/skybluep/local/lib/python2.7/site-packages/')
os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'skyblue.settings'

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
4

1 回答 1

1

在我的头撞到墙上之后,有什么咔哒声。我意识到 python 没有将 skyblue.settings 视为 python 模块。所以我在 skyblue 目录中添加了一个 __init __ .py 文件。Django 确实在 skyblue/skyblue 中创建了一个 __ init __.py 文件,但不在第一个目录中。我不知道为什么 fastcgi 脚本无法从 PYTHONPATH 中解决这个问题,但是无论我最终使用 FCGI 在我的 Apache 共享主机帐户上部署了 Django 什么。

只是一个注释,我确实最终删除了 init.py 文件以使其他工作正常工作,但是在最初阅读 skyblue.settings 文件之后,即使我删除了 init 文件,它似乎仍然被视为一个模块。

于 2013-10-05T23:38:43.123 回答