3

Python 2.7 /Django1.4プロジェクトがあります。Ubuntu 11を実行しています。プロジェクト構造には、Notecardという名前のルートフォルダー、Notecardという名前のプロジェクト、およびNotecardsという名前のアプリがあります。

notecard/

-- notecard/

-- -- manage.py

-- -- settings.py

-- -- __init__.py

-- -- urls.py

-- -- notecards/

-- -- app2/

Linuxを実行していますが、ルートフォルダへのパスは `/ home / dan /notecard/です。

私のPYTHONPATH変数は次のとおりです。

>>> os.environ['PYTHONPATH'].split(os.pathsep)
['', '/home/dan/notecard', '/home/dan', '/home/dan/notecard/notecard/settings']

私のDJANGO_SETTINGS_MODULEは次のとおりです。

>>> os.environ['DJANGO_SETTINGS_MODULE'].split(os.pathsep)
['notecard.settings', '/home/dan/notecard/settings', '/home/dan/notecard/notecard/settings']

そして私のManage.pyは:

#!/usr/bin/env python
import os, sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "notecard.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

IDEとしてPyCharmを使用していますが、開発サーバーを実行しようとすると、次のようになります。

ImportError:設定をインポートできませんでした'notecard.settings'(sys.pathにありますか?):notecard.settingsという名前のモジュールがありません

私の設定は、PycharmのDjangoサポートセクションですべて正しいです。

ターミナルから直接開発サーバーを実行しようとすると、次のようになります。

ImportError:設定をインポートできませんでした'notecard.settings:/ home / dan / notecard / settings:/ home / dan / notecard / notecard / settings'(sys.pathにありますか?):ファイル名によるインポートはサポートされていません。

ターミナルからは、複数の環境変数を取得しているようです。理由はわかりませんが、一致するものが必要だと思いました。

私はこれを機能させる方法を理解するのに苦労しています-できればPycharmを介して、しかしうまくいけば一般的に。

私は明らかにすべての環境変数を追加し、Pycharm設定を確認し、manage.pyシステム変数情報も確認しようとしました(念のため)。

どんな助けでもいただければ幸いです。

4

1 に答える 1

3

エラーメッセージにあるように、問題はDJANGO_SETTINGS_MODULEです。なぜそのために複数の値があるのですか?モジュールパスという単一の値である必要があります。あなたの場合、それはおそらくであるはずnotecard.settingsです。

于 2013-01-05T10:15:25.730 に答える