2009-05-26 9 views
2

私はsyncdbを使用しようとすると、私はエラーを取得しています:Django/Python EnvironmentError?

python manage.py syncdb 

エラーメッセージ:

File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 83, in __init__ 
raise EnvironmentError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e) 
EnvironmentError: Could not import settings '/home/simi/workspace/hssn_svn/hssn' (Is it on sys.path? Does ti have syntax errors?): Import by filename is not supported. 

を私はジャンゴ/ Pythonのと初心者だけど、私はこのエラーを把握することはできません今すぐオンラインで研究した後に

答えて

1

settings.pyファイルがmanage.pyと同じディレクトリにあることを確認してください(このディレクトリ(つまり、./manage.py syncdb)からmanage.pyを実行する必要があります)、または環境変数DJANGO_SETTINGS_MODULEをポイントそれに。

+0

settings.pyは、私が「manage.pyと同じディレクトリにあります私が変更をコミットするためにsvnを使用して作業する開発領域を設定しようとしています。私はUbuntu Jaunty(9.04)を実行しているVMを使用していますが、私は環境変数としてDJANGO_SETTINGS_MODULEを設定しようとしていますが、それを受け取りたくないようです。さようなら、迅速な返信をありがとう。 – simi

+1

次に、あなたのsettings.pyファイルにエラーがあるかもしれません。パイソンシェルを開き、 "設定をインポート"して確認してみてください。 –

+0

@LuperRouchこれは私の問題でした。私が忘れてしまった依存関係を調べるためにシェルを使用することは、優れたデバッグの提案でした。問題が解決しました。ありがとうございました:) – mkelley33

12

あなたのトレース状態:

Import by filename is not supported. 

インポート(または多分DJANGO_SETTINGS_MODULEを設定)しようとすることを示している可能性があり、それはモジュールパスである必要があり、完全なPythonのファイル名には:your.module.settings

あなたは

$ DJANGO_SETTINGS_MODULE=your.module.settings ./manage.py syncdb 
+0

DJANGO_SETTINGS_MODULEはシステムパスではなく、Pythonモジュールのパスですので、 'some'が既にPythonpathにあると仮定して 'some.dir.settings'にする必要があります。 –

+1

ありがとう、間違い。私はそれを訂正した。私はDJANGO_SETTINGS_MODULEを設定しようとすると、問題の修正を見つけるのに役立つと思います。 – miku

+0

Ahhhh ...はい、パス全体をエクスポートしていましたので、プロジェクトへのパスがすでにsys.pathに入っていたので、これをsettings.pyに変更しました。私は今他のエラーがありますが、私はそれについて別の質問を掲示します。ありがとうございました...あなたはすごいです。 – simi

1

次のように、DJANGO_SETTINGS_MODULEを直接コマンドラインから指定しようとする可能性があります。パーミッション - 追跡が非常に難しい。私にとって

ソリューションの/ var/www /の<myproject><myproject>を移動し、chownを-Rルートを行うことでした。ルートは/ var/www /の<myproject>

関連する問題