5

Python 2.7 および Django 1.4 で Window 7 64Bit を使用しています。

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Django-1.4\django\bin\cms2>manage.py syncdb
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Traceback (most recent call last):
  File "C:\Django-1.4\django\bin\cms2\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
443, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 196,
 in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 232,
 in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 371,
 in handle
    return self.handle_noargs(**options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 164, in handle_noargs
    call_command('loaddata', 'initial_data', verbosity=verbosity, database=db)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
150, in call_command
    return klass.execute(*args, **defaults)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 232,
 in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\loaddata.p
y", line 239, in handle
    (full_path, ''.join(traceback.format_exception(sys.exc_type,
UnboundLocalError: local variable 'full_path' referenced before assignment

エラー

UnboundLocalError: local variable 'full_path' referenced before assignment

自分でインストールしましたが、エラーが発生しています。それの何が問題なのですか?私はグーグルを試みましたが、何も出てきませんでした。

4

6 に答える 6

10

私もこの問題を抱えていました。(他の誰かが)これを my に追加したことが原因でしたsettings.py

SERIALIZATION_MODULES = {
    'json': 'wadofstuff.django.serializers.json'
}

そして、私はそのことをインストールしていませんでした。次を使用してインストールできます。

pip install wadofstuff-django-serializers

他の不足しているソフトウェアでも同様のエラーが発生すると思います。

于 2012-09-20T09:53:05.367 に答える
2

これは、Django が元の例外を食べ、間違ったことを行い、代わりにまったく有益でないエラーを返す別の例です。

ロジックの流れを見ると、このバグを回避して実際のエラーを確認できるはずです。

manage.py syncdb --traceback

または多分

manage.py --traceback syncdb

それはこの特定の質問に答え、Django の内部で何が問題になっているのかを教えてくれるはずです。それを見つけたら、何が問題なのかまだわからない場合は、そのトレースバックを新しい質問に投稿することをお勧めします。

于 2012-09-24T05:40:11.297 に答える
0

これはDjango1.4.1の穴のようです。この穴を通り抜ける原因を正確に伝えるのに十分な情報はありませんが、最新のgitバージョンにはこの穴がないようです。最新のリポジトリコードに更新すれば、このエラーは発生しないと思います。

このエラーを可能にするために、他の何かがエラーをスローしていることもわかると思います。

于 2012-09-19T17:50:48.137 に答える
0

loaddata.py のコードを調べると、163 行目で full_path に値が割り当てられる前に例外が発生する必要があることがわかります。これにより、例外ハンドルが別の例外を発生させ、実際のエラーがマスクされます。私が提案するのは、handle() 関数の先頭に "full_path = ''" を追加して、少なくとも実際のエラーを確認できるようにすることです。

于 2012-09-24T01:39:58.937 に答える
0

問題は、windows が python ファイルの処理方法を認識していないことです。Windows の設定を変更するか、明示的に python: を呼び出しますpython manage.py

于 2012-05-10T13:05:51.320 に答える
-1

Django 1.4 は Python 3.x と互換性がありません

おそらく、Python 2.7 でもう一度試して、同じ問題が発生するかどうかを確認する価値があります。

于 2012-09-23T23:07:28.873 に答える