2016-08-03 75 views
1

我有一個使用apache和mod_wsgi配置的工作夾層項目。我試圖在項目中添加一個應用程序並重新啓動apache,並且即使撤消更改,該項目也會拋出錯誤。獲得當我試圖運行python manage.py檢查了同樣的錯誤:Django Mezzanine ImportError:沒有名爲apps的模塊

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項目運行良好。 夾層似乎存在一些問題。 我經歷了其他相關的問題,但無法解決問題。任何幫助將非常感激。提前致謝。

+1

錯誤不言自明'django.apps'沒有'apps'模塊(它有'config'和'registry')。你應該確定你想要導入什麼。 _可以是來自django.apps導入AppConfig'的this_'。 – kapilsdv

+0

感謝您的迴應。這行'來自django.apps導入應用程序'預先存在於夾層目錄中的許多文件中。我甚至嘗試刪除或更改此行,但文件太多,並且更改它會產生一些其他錯誤。 –

+0

@KapilSachdev'apps'是'django/apps/__ init __。py'中的一個屬性,參見[this](https://github.com/django/django/blob/4e64e3bb6e96a50b057bc1144fba3efdee7dfc10/django/apps/__init__.py)。 @OP你使用的是什麼版本的Django? – knbk

回答

1

你說你的Django安裝中有一個名爲apps的文件夾,但是回溯顯示它正在執行在1.7版本中被刪除的代碼,這是與django.apps引入的相同版本。您的安裝很可能已損壞,並且具有不同版本的文件。

從您的Python安裝中卸載Django,並完全刪除/usr/local/lib/python2.7/dist-pacakges/django/文件夾。然後,重新安裝與您的Mezzanine版本兼容的Django版本。

看來您已經將Django安裝到您的全局Python安裝中。當多個項目需要使用不同版本的python包時,這很容易造成這樣的問題。建議使用virtual environment來管理隔離環境中的項目需求,並防止出現此類衝突。

+0

謝謝。我卸載了django和夾層,刪除了所有文件夾,只安裝了夾層,它自己安裝了包括django在內的所有需求。最後它工作。 –

相關問題