我有一个使用 apache 和 mod_wsgi 配置的工作夹层项目。我尝试向项目添加一个应用程序并重新启动 apache,但即使在撤消更改后,项目也会突然抛出错误。当我尝试运行 python manage.py check 时出现相同的错误:
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 和 mezzanine 但没有用。另一方面,一个简单的 django 项目运行良好。 看来夹层有问题。 我浏览了其他相关问题但无法解决。任何帮助将非常感激。提前致谢。
最佳答案
您说您的 Django 安装中有一个名为 apps
的文件夹,但回溯显示它正在执行 1.7 中删除的代码,该版本引入了 django.apps
.您的安装很可能已损坏并且包含来自不同版本的文件。
从 Python 安装中卸载 Django,并完全删除 /usr/local/lib/python2.7/dist-pacakges/django/
文件夹。然后,重新安装与您的 Mezzanine 版本兼容的 Django 版本。
您似乎已将 Django 安装到全局 Python 安装中。当多个项目需要使用不同版本的python包时,这很容易导致此类问题。建议使用virtual environment在隔离环境中管理项目需求并防止此类冲突。
关于python - Django 夹层导入错误 : No module named apps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38740421/