1
  • ジャンゴ1.6
  • Ubuntu 12.04
  • パイソン 3.2.3

Django アプリの__pycache__フォルダーとその__init__.pyファイルを誤って削除してしまい、Django がクラッシュしました。I の場合、アプリのディレクトリが存在し、すべてのファイルがその中にあるにもかかわらず (削除したものを除く)、agepctpython3 manage.py runserverという名前のモジュールがないと即座に主張します。ゴミ箱を空にしたので、ファイルを取り戻すことができません。アプリ全体を最初から再作成する以外に、アプリを再び機能させる方法はありますか?

しようとしたときに吐き出すトレースバックは次のrunserverとおりです。

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.2/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.2/dist-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.2/dist-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python3.2/dist-packages/django/core/management/base.py", line 280, in execute
    translation.activate('en-us')
  File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/__init__.py", line 130, in activate
    return _trans.activate(language)
  File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/trans_real.py", line 188, in activate
    _active.value = translation(language)
  File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/trans_real.py", line 177, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/trans_real.py", line 159, in _fetch
    app = import_module(appname)
  File "/usr/lib/python3.2/importlib/__init__.py", line 124, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/lib/python3.2/importlib/_bootstrap.py", line 824, in _gcd_import
    raise ImportError(_ERR_MSG.format(name))
ImportError: No module named agepct
4

1 に答える 1

3

この__pycache__ディレクトリは、バイト コンパイルされたファイルのキャッシュであり、パッケージをインポートすると再構築されます。

一方__init__.py、ファイルはディレクトリをモジュールにするものです。最初は空だった場合はagepct、インポートが再び機能するようにディレクトリに再作成するだけです。ディレクトリ内にないことに__init__.py注意てください。__pycache__

__init__.py空の「これをパッケージにする」ファイル以上のものである場合は、そのコードを最初から再作成するか、バックアップからファイルを復元する必要があります。

于 2013-11-11T21:53:27.917 に答える