我有一个使用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项目运行良好。 夹层似乎有些问题。 我经历了其他相关问题,但无法解决。任何帮助将非常感激。提前谢谢。
答案 0 :(得分:1)
你说你的Django安装中有一个名为apps
的文件夹,但是回溯显示它正在执行1.7中删除的代码,与引入django.apps
的版本相同。您的安装很可能已损坏,并且包含不同版本的文件。
从Python安装中卸载Django,并完全删除/usr/local/lib/python2.7/dist-pacakges/django/
文件夹。然后,重新安装与您的Mezzanine版本兼容的Django版本。
您似乎已将Django安装到全局Python安装中。当多个项目需要使用不同版本的python包时,这很容易导致此类问题。建议使用How can I get a list of all the implementations of an interface programmatically in Java来管理隔离环境中项目的需求并防止此类冲突。