Django Mezzanine ImportError: No module named apps

Django Mezzanine ImportError: No module named apps

我有一个使用 apache 和 mod_wsgi 配置的工作夹层项目。我试图向项目添加一个应用程序并重新启动 apache,突然即使在撤消更改后项目也会抛出错误。当我尝试 运行 python manage.py 检查时出现相同的错误:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 284, in execute
    self.validate()
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 310, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/lib/python2.7/dist-packages/django/core/management/validation.py", line 34, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 196, in get_app_errors
    self._populate()
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 75, in _populate
    self.load_app(app_name, True)
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 97, in load_app
    app_module = import_module(app_name)
  File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/mezzanine/boot/__init__.py", line 16, in <module>
    from django.apps import apps
ImportError: No module named apps

django 的路径:“/usr/local/lib/python2.7/dist-packages/django”,它有名为 "apps" 和“init.py 的文件夹" 文件存在于文件夹中。

然后我创建了一个全新的夹层项目并 运行 python manage.py 检查,并得到相同的错误。这意味着没有任何夹层项目在运作。我尝试更新并重新安装 django 和夹层但没有用。另一方面,一个简单的 django 项目 运行 没问题。 夹层似乎有一些问题。 我经历了其他相关问题,但无法解决。任何帮助将非常感激。提前致谢。

你说你的 Django 安装中有一个名为 apps 的文件夹,但回溯显示它正在执行 1.7 中删除的代码,与引入 django.apps 的版本相同。您的安装很可能已损坏并且包含来自不同版本的文件。

从 Python 安装中卸载 Django,并完全删除 /usr/local/lib/python2.7/dist-pacakges/django/ 文件夹。然后,重新安装与您的 Mezzanine 版本兼容的 Django 版本。

您似乎已将 Django 安装到全局 Python 安装中。当多个项目需要使用不同版本的 python 包时,这很容易导致此类问题。建议使用 virtual environment 在隔离环境中管理项目需求并防止此类冲突。