2011-08-18 150 views
1

大家好,感謝您花時間看我的問題。Django部署:ImportError:無法導入設置'settings.py'(它是否在sys.path?上):沒有名爲settings.py的模塊

我是Python的新手,以爲我在PHP/MySQL的經驗。

我剛剛交給一個django網站的代碼庫,並要求在服務器上運行它。 我已經可以運行syncdb並遷移了。 現在我想要導航到我的瀏覽器的網站,這是我的錯誤:

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

我apach2.conf蟒蛇的配置是這樣的:

<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目錄中。

有人可以幫我嗎?

謝謝!

+1

是'envs'還是'venvs'?你在你的代碼中使用了'envs',但你說它是'venvs'。 – agf

+2

你可能想試試mod_wsgi,參見https://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/和http://library.linode.com/frameworks/django-apache-mod-wsgi/ ubuntu-10.04-lucid – Dami

回答

1

這應該只是:

SetEnv DJANGO_SETTINGS_MODULE settings 

否 '的.py'。也就是說,它是一個Python模塊路徑,而不是文件名。

請注意,mod_python是一個正式的項目。 Django中的支持已被棄用。您應該查看替代方案,而不是用於託管Django的mod_python。

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上安裝very well documented

+0

謝謝你,我會試試這個。 – hgolov

+0

這工作!謝謝!! – hgolov

相關問題