2016-09-19 12 views
1

Я установил Odoo8 и работает с Nginx.Как исправить KeyError: «web» в Odoo8?

Когда я получаю доступ к URL-адресу, на котором должен работать Odoo, я вижу только черную верхнюю панель без меню, остальная часть страницы пуста.

Журнал выплевывает эту ошибку:

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).

я вставляю здесь конфигурацию сайта Nginx из Odoo:

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 lib, но трассировка идет прямо перед ошибкой «KeyError». – CZoellner

+0

Хорошо, вы удалили 'nginx', чтобы узнать, сохранилась ли проблема, поэтому вы точно узнаете о происхождении проблемы (я сомневаюсь, что это от nginx) – danidee

+0

Да, это полная трассировка ошибки, она не говорит очень. Я не удалял Nginx, потому что он установлен на удаленном сервере, владельцем которого является другой человек, поэтому я бы предпочел не удалять его, но если нет другого пути, я думаю, мне придется это сделать. – forvas

ответ

1

Ну, у меня нет идеи, почему, но это исправлено. Что я сделал:

  1. Я удалил все модули Odoo, которые я загрузил с GitHub.
  2. Я снова скачал (точно так же, как я сделал в первый раз).
  3. Я перезапустил службу Odoo.
  4. На этот раз я получил две ошибки вместо одной. Одним из них был KeyError: 'web', как и раньше, другой запрашивал Wand.
  5. Я установил Wand: pip install Wand
  6. После освежающего, такой же ситуации, две ошибки, но другой на этот раз просил MagickWand.
  7. Я установил его: apt-get install libmagickwand-dev
  8. После обновления, опять же, две ошибки, на этот раз Odoo просил pycoda.
  9. Я установил pycoda: pip install pycoda
  10. Я перезагрузил Nginx и Odoo услуги, на всякий случай, и это сработало. Больше ошибок.

Я не могу объяснить, почему журнал не сказал мне ничего о других ошибках в первой установке, и он заметил меня только о KeyError: 'web'.

+1

Эти проблемы с импортом всегда трудно увидеть. Но когда odoo не может загрузить веб-модуль, это часто просто отсутствует python lib. – CZoellner