hereの指示に大まかに従って、既存の django プロジェクトを buildout 経由でデプロイしようとしています。
私のbuildout.cfgファイルは次のとおりです。
[buildout]
parts = django python
develop = .
eggs = myproject
[django]
recipe = djangorecipe
version = 1.2.3
project = myproject
projectegg = myproject
settings = settings
wsgi = true
eggs = ${buildout:eggs}
[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}
2 つの問題があります。
- まず、./bin/python 経由で python インタープリターを呼び出すと、import myproject でインポート エラーが発生します。
- 次に、django.wsgi ファイルを読み込もうとすると、Apache エラーも発生します。
[Sun Oct 03 11:57:37 2010] [error] [client ::1] mod_wsgi (pid=5045): ターゲット WSGI スクリプト '/usr/src/django/myproject/bin/django.wsgi' をロードできませんPython モジュール。 [2010 年 10 月 3 日 11:57:37] [エラー] [クライアント ::1] mod_wsgi (pid=5045): WSGI スクリプト '/usr/src/django/myproject/bin/django.wsgi' によって発生した SystemExit 例外は無視されました. [2010 年 10 月 3 日 11:57:37] [エラー] [クライアント ::1] トレースバック (最新の呼び出しが最後): [2010 年 10 月 3 日 11:57:37] [エラー] [クライアント ::1] ファイル "/usr/src/django/myproject/bin/django.wsgi"、20 行目 [2010 年 10 月 3 日 11:57:37] [エラー] [クライアント ::1] アプリケーション = djangorecipe.wsgi.main('myproject.settings', logfile='') [2010 年 10 月 3 日 11:57:37] [エラー] [クライアント ::1] ファイル "/usr/src/django/myproject/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.py", 15行目、メイン [Sun Oct 03 11:57:37 2010] [エラー] [クライアント :: 1] sys.exit(1)
私の django.wsgi ファイルは次のとおりです(提案された変更に従って更新されます):
#!/usr/bin/python システムをインポート sys.path[0:0] = [ '/usr/src/django/myproject/src', '/usr/src/django/myproject/eggs/djangorecipe-0.20-py2.6.egg', '/usr/src/django/myproject/eggs/zc.recipe.egg-1.3.2-py2.6.egg', '/usr/src/django/myproject/eggs/zc.buildout-1.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages', '/usr/local/lib/python2.6/dist-packages', '/usr/src/django/myproject/parts/django', '/usr/src/django/myproject/eggs/setuptools-0.6c12dev_r85190-py2.6.egg', '/usr/src/django/myproject/parts/django', '/usr/src/django/myproject', '/usr/src/django/myproject/src(/usr/src/django/myproject)', '/usr/src/django/myproject', ] djangorecipe.wsgi をインポート アプリケーション = djangorecipe.wsgi.main('myproject.settings', logfile='')
私のbin/djangoファイルは次のとおりです。
#!/usr/bin/python システムをインポート sys.path[0:0] = [ '/usr/src/django/myproject/src', '/usr/src/django/myproject/eggs/djangorecipe-0.20-py2.6.egg', '/usr/src/django/myproject/eggs/zc.recipe.egg-1.3.2-py2.6.egg', '/usr/src/django/myproject/eggs/zc.buildout-1.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages', '/usr/local/lib/python2.6/dist-packages', '/usr/src/django/myproject/parts/django', '/usr/src/django/myproject/eggs/setuptools-0.6c12dev_r85190-py2.6.egg', '/usr/src/django/myproject/parts/django', '/usr/src/django/myproject', '/usr/src/django/myproject/src(/usr/src/django/myproject)', '/usr/src/django/myproject', ] djangorecipe.manage をインポート __name__ == '__main__' の場合: djangorecipe.manage.main('myproject.settings')
インポートもApacheサーバーも機能していないようです