2016-09-19 45 views
1

我已經安裝了Odoo8,它與Nginx一起運行。如何修復Odoo8中的KeyError:'web'?

當我訪問Odoo應該運行的URL時,我只能看到沒有菜單的黑色頂欄,頁面的其餘部分是空的。

日誌吐出了這個錯誤:

Traceback (most recent call last): File "/opt/odoo/odoo_8/src/OCA/OCB/openerp/http.py", line 544, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/odoo_8/src/OCA/OCB/openerp/http.py", line 581, in dispatch result = self._call_function(**self.params) File "/opt/odoo/odoo_8/src/OCA/OCB/openerp/http.py", line 318, in _call_function return self.endpoint(*args, **kwargs) File "/opt/odoo/odoo_8/src/OCA/OCB/openerp/http.py", line 810, in call return self.method(*args, **kw) File "/opt/odoo/odoo_8/src/OCA/OCB/openerp/http.py", line 410, in response_wrap response = f(*args, **kw) File "/opt/odoo/odoo_8/src/linked-addons/web/controllers/main.py", line 591, in bootstrap_translations if http.addons_manifest[addon_name].get('bootstrap'): KeyError: 'web'

我檢查,我都不得不提到的路徑模塊的網絡,用正確的權限和權利人。我無法找到解決這個問題的方法。

任何人都經歷過相同的情況?我認爲這可能是Nginx的一個問題(因爲最近我在不同的服務器上安裝了多個Odoo 8,並且每個服務器都遵循完全相同的步驟,但其他的不使用Nginx)。

我在這裏貼Odoo的Nginx的站點的配置:

server_tokens off; 

server { 
    server_name my.server.name.com; 

    large_client_header_buffers 16 8m; 
    client_max_body_size  200m; 

    location/{ 
     proxy_pass   http://127.0.0.1:8069; 
     proxy_buffers   16 8m; 
     proxy_buffer_size  8m; 
     proxy_set_header  X-Forwarded-Host $host; 
     proxy_set_header  X-Real-IP $http_x_real_ip; 
     proxy_set_header  X-Forwarded-Proto https; 
     proxy_connect_timeout 600; 
     proxy_send_timeout 600; 
     proxy_read_timeout 600; 
     send_timeout   600; 

     location ~ ^/(.*)/static/(.*) { 
     alias /opt/odoo/odoo_8/src/linked-addons/$1/static/$2; 

     expires +30d; 
     access_log off; 
     log_not_found off; 
     } 
    } 
} 

任何建議或想法可以理解的。

+0

這是完整的追溯?有時候只是缺少一個python庫,但是在「KeyError」'web'錯誤發生之前就會出現回溯。 – CZoellner

+0

你是否已經刪除了'nginx'來查看問題是否仍然存在,所以你完全知道問題的根源(我懷疑它來自nginx) – danidee

+0

是的,這是錯誤的完整追溯,它沒有告訴非常。我沒有移除Nginx,因爲它安裝在一個遠程服務器上,它的主人是其他人,所以我不想刪除它,但如果沒有其他方法,我想我必須這樣做。 – forvas

回答

1

那麼,我不知道爲什麼,但它是固定的。我做了什麼:

  1. 我刪除了我從GitHub下載的所有Odoo模塊。
  2. 我再次下載(就像我第一次那樣)。
  3. 我重新啓動了Odoo服務。
  4. 這一次我得到了兩個錯誤,而不是一個。其中一個是KeyError:'web',跟前面一樣,另一個是要求Wand包。
  5. 我安裝魔杖pip install Wand
  6. 爽口,同樣的情況,兩個錯誤,但對方一這個時間要求MagickWand後。
  7. 我安裝了它:apt-get install libmagickwand-dev
  8. 刷新完成後,再次,2次失誤,這一次Odoo被要求pycoda
  9. 我安裝pycodapip install pycoda
  10. 我重新開始的Nginx和Odoo服務,以防萬一,和它的工作。沒有更多的錯誤。

我無法解釋爲什麼日誌沒有告訴我關於第一次安裝中的其他錯誤的任何信息,它只注意到我關於KeyError: 'web'

+1

這些進口問題總是很難見到。但是,當odoo無法加載Web模塊時,它通常只是一個缺少的Python庫。 – CZoellner