Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to run odoo properly in Mac OS X

Tags:

I have installed Odoo 9 Community version from Git in my Mac OS X El Capitan 10.11.2, all my steps:

python --version Python 2.7.10  git clone https://github.com/odoo/odoo.git Checking out files: 100% (20501/20501), done. 

Installed PostgresApp into Applications and added path in ~/.bash_profile, executed the same.

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin 

Installed pip

sudo easy_install pip Finished processing dependencies for pip 

I have nodejs installed in my system,

node -v v5.0.0 npm -v 3.3.9 

Installed less and less-plugin-clean-css

sudo npm install -g less less-plugin-clean-css 

I have latest xcode installed,

xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates 

I have homebrew installed,

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  It appears Homebrew is already installed. If your intent is to reinstall you should do the following before running this installer again:     ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" The current contents of /usr/local are bin Cellar CODEOFCONDUCT.md CONTRIBUTING.md etc include lib Library LICENSE.txt opt README.md sbin share SUPPORTERS.md var .git .gitignore 

Installed other libs

brew install autoconf automake libtool brew install libxml2 libxslt libevent 

Installed Python dependencies

sudo easy_install -U setuptools Finished processing dependencies for setuptools  cd odoo/ sudo pip install --user -r requirements.txt  Successfully installed Mako-1.0.1 Pillow-2.7.0 Werkzeug-0.9.6 argparse-1.2.1 lxml-3.4.1 psutil-2.2.0 psycopg2-2.5.4 pyparsing-2.0.1 python-dateutil-1.5 python-ldap-2.4.19 pytz-2013.7 pyusb-1.0.0b2 qrcode-5.1 six-1.4.1 

Running odoo

export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8  ./odoo.py --addons-path=addons --db-filter=mydb 

It says

2016-02-10 16:51:42,351 3389 INFO ? openerp: OpenERP version 9.0c 2016-02-10 16:51:42,351 3389 INFO ? openerp: addons paths: ['/Users/anshad/Library/Application Support/Odoo/addons/9.0', u'/Users/anshad/odoo/addons', '/Users/anshad/odoo/openerp/addons'] 2016-02-10 16:51:42,352 3389 INFO ? openerp: database: default@default:default 2016-02-10 16:51:42,444 3389 INFO ? openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069 

And the browser says 500 500 Internal Server Error and in terminal,

conn = _connect(dsn, connection_factory=connection_factory, async=async) OperationalError: could not connect to server: No such file or directory     Is the server running locally and accepting     connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 

Started PostgresApp to solve this issue.

Now I got the database setup window appears without CSS as in the below screen-shot.

Created database mydbodoo with password admin and navigated to main page http://localhost:8069/web/ It shows a blank page with black header and odoo logo, some error in terminal as well.

ImportError: No module named pyPdf

./odoo.py --addons-path=addons --db-filter=mydb 2016-02-10 17:02:12,220 3589 INFO ? openerp: OpenERP version 9.0c 2016-02-10 17:02:12,220 3589 INFO ? openerp: addons paths: ['/Users/anshad/Library/Application Support/Odoo/addons/9.0', u'/Users/anshad/odoo/addons', '/Users/anshad/odoo/openerp/addons'] 2016-02-10 17:02:12,221 3589 INFO ? openerp: database: default@default:default 2016-02-10 17:02:12,314 3589 INFO ? openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069 2016-02-10 17:02:16,855 3589 INFO ? openerp.addons.bus.models.bus: Bus.loop listen imbus on db postgres 2016-02-10 17:02:16,888 3589 INFO ? werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:16] "GET /web/ HTTP/1.1" 500 - 2016-02-10 17:02:16,895 3589 ERROR ? werkzeug: Error on request: Traceback (most recent call last):   File "/Library/Python/2.7/site-packages/werkzeug/serving.py", line 177, in run_wsgi     execute(self.server.app)   File "/Library/Python/2.7/site-packages/werkzeug/serving.py", line 165, in execute     application_iter = app(environ, start_response)   File "/Users/anshad/odoo/openerp/service/server.py", line 245, in app     return self.app(e, s)   File "/Users/anshad/odoo/openerp/service/wsgi_server.py", line 184, in application     return application_unproxied(environ, start_response)   File "/Users/anshad/odoo/openerp/service/wsgi_server.py", line 170, in application_unproxied     result = handler(environ, start_response)   File "/Users/anshad/odoo/openerp/http.py", line 1487, in __call__     self.load_addons()   File "/Users/anshad/odoo/openerp/http.py", line 1508, in load_addons     m = __import__('openerp.addons.' + module)   File "/Users/anshad/odoo/openerp/modules/module.py", line 61, in load_module     mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)   File "/Users/anshad/odoo/addons/document/__init__.py", line 4, in <module>     import models   File "/Users/anshad/odoo/addons/document/models/__init__.py", line 4, in <module>     import ir_attachment   File "/Users/anshad/odoo/addons/document/models/ir_attachment.py", line 8, in <module>     import pyPdf ImportError: No module named pyPdf 2016-02-10 17:02:17,708 3589 INFO mydbodoo openerp.modules.loading: loading 1 modules... 2016-02-10 17:02:17,716 3589 INFO mydbodoo openerp.modules.loading: 1 modules loaded in 0.01s, 0 queries 2016-02-10 17:02:17,719 3589 INFO mydbodoo openerp.modules.loading: loading 4 modules... 2016-02-10 17:02:17,727 3589 INFO mydbodoo openerp.modules.loading: 4 modules loaded in 0.01s, 0 queries 2016-02-10 17:02:17,899 3589 INFO mydbodoo openerp.modules.loading: Modules loaded. 2016-02-10 17:02:17,900 3589 INFO mydbodoo openerp.addons.base.ir.ir_http: Generating routing map 2016-02-10 17:02:18,249 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/ HTTP/1.1" 200 - 2016-02-10 17:02:18,308 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/content/341-42af255/web.assets_common.0.css HTTP/1.1" 304 - 2016-02-10 17:02:18,350 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/static/src/css/full.css HTTP/1.1" 404 - 2016-02-10 17:02:18,367 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/content/343-4d5beef/web.assets_backend.0.css HTTP/1.1" 304 - 2016-02-10 17:02:18,411 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/content/344-4d5beef/web.assets_backend.js HTTP/1.1" 304 - 2016-02-10 17:02:18,428 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/content/342-42af255/web.assets_common.js HTTP/1.1" 304 - 2016-02-10 17:02:18,663 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/binary/company_logo HTTP/1.1" 304 - 2016-02-10 17:02:18,838 3589 INFO mydbodoo openerp.service.common: successful login from 'admin' using database 'mydbodoo' 2016-02-10 17:02:18,859 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "POST /web/session/get_session_info HTTP/1.1" 200 - 2016-02-10 17:02:18,893 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "POST /web/proxy/load HTTP/1.1" 200 - 2016-02-10 17:02:18,915 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "POST /web/session/modules HTTP/1.1" 200 - 2016-02-10 17:02:18,945 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "POST /web/dataset/search_read HTTP/1.1" 200 - 2016-02-10 17:02:18,945 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "POST /web/webclient/translations HTTP/1.1" 200 - 2016-02-10 17:02:18,991 3589 INFO mydbodoo werkzeug: 127.0.0.1 - - [10/Feb/2016 17:02:18] "GET /web/webclient/locale/en_US HTTP/1.1" 500 - 2016-02-10 17:02:18,998 3589 ERROR mydbodoo werkzeug: Error on request: Traceback (most recent call last):   File "/Library/Python/2.7/site-packages/werkzeug/serving.py", line 177, in run_wsgi     execute(self.server.app)   File "/Library/Python/2.7/site-packages/werkzeug/serving.py", line 165, in execute     application_iter = app(environ, start_response)   File "/Users/anshad/odoo/openerp/service/server.py", line 245, in app     return self.app(e, s)   File "/Users/anshad/odoo/openerp/service/wsgi_server.py", line 184, in application     return application_unproxied(environ, start_response)   File "/Users/anshad/odoo/openerp/service/wsgi_server.py", line 170, in application_unproxied     result = handler(environ, start_response)   File "/Users/anshad/odoo/openerp/http.py", line 1488, in __call__     return self.dispatch(environ, start_response)   File "/Users/anshad/odoo/openerp/http.py", line 1652, in dispatch     result = ir_http._dispatch()   File "/Users/anshad/odoo/openerp/addons/base/ir/ir_http.py", line 186, in _dispatch     return self._handle_exception(e)   File "/Users/anshad/odoo/openerp/addons/base/ir/ir_http.py", line 157, in _handle_exception     return request._handle_exception(exception)   File "/Users/anshad/odoo/openerp/http.py", line 781, in _handle_exception     return super(HttpRequest, self)._handle_exception(exception)   File "/Users/anshad/odoo/openerp/addons/base/ir/ir_http.py", line 182, in _dispatch     result = request.dispatch()   File "/Users/anshad/odoo/openerp/http.py", line 840, in dispatch     r = self._call_function(**self.params)   File "/Users/anshad/odoo/openerp/http.py", line 316, in _call_function     return checked_call(self.db, *args, **kwargs)   File "/Users/anshad/odoo/openerp/service/model.py", line 118, in wrapper     return f(dbname, *args, **kwargs)   File "/Users/anshad/odoo/openerp/http.py", line 309, in checked_call     result = self.endpoint(*a, **kw)   File "/Users/anshad/odoo/openerp/http.py", line 959, in __call__     return self.method(*args, **kw)   File "/Users/anshad/odoo/openerp/http.py", line 509, in response_wrap     response = f(*args, **kw)   File "/Users/anshad/odoo/addons/web/controllers/main.py", line 505, in load_locale     addons_path = http.addons_manifest['web']['addons_path'] KeyError: 'web' 

Screen-shot:Terminal and file system

enter image description here

Screen-shot:Database selection window

enter image description here

Screen-shot: Main window

enter image description here

Tried sudo pip install pyPdf and it says Requirement already satisfied (use --upgrade to upgrade): pyPdf in /Users/anshad/Library/Python/2.7/lib/python/site-packages

like image 309
Anshad Vattapoyil Avatar asked Feb 01 '16 03:02

Anshad Vattapoyil


Video Answer


1 Answers

I just went through the setup on two systems, one is Mac OS X El Capitan 10.11.2 and another one is my primary OS - Ubuntu 15.04 (where things went much easier, but maybe it is just because I use Ubuntu on daily basis).

Below are installation steps for both systems. Make sure that every command finishes successfully (at least doesn't report any errors).

Mac OS X El Capitan 10.11.2

Prerequisites: I already had git and python 2.7.10.

1) Clone odoo repository:

git clone https://github.com/odoo/odoo.git 

2) Download and install Postgresapp

  • Go to http://postgresapp.com/, download
  • Open it in Finder, drag to Applications, double click
  • Postgres application appears, double click it
  • Sorry if these steps are obvious, it is just for me since I am not a Mac OS user

Now add to ~/.bash_profile:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin 

And just execute the command above it if you already have the open terminal.

3) Install pip

sudo easy_install pip 

4) Install nodejs

  • Go to https://nodejs.org,
  • Download node v4.3.0
  • Move to Applications, run and install
  • Open terminal and check that node and npm commands are available

5) Install less and less-plugin-clean-css

sudo npm install -g less less-plugin-clean-css 

Should show output like this:

/usr/local/bin/lessc -> /usr/local/lib/node_modules/less/bin/lessc [email protected] /usr/local/lib/node_modules/less-plugin-clean-css └── [email protected] ([email protected], [email protected]) [email protected] /usr/local/lib/node_modules/less ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ([email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected]) └── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]) 

6) Install binary dependencies

I think not all the steps below are really necessary, but I performed them, so include just for the case they actually were needed.

  • Run in the terminal xcode-select --install, when dialog appears - agree to install
  • Go to http://brew.sh and follow instructions to install homebrew

Once you have brew, run the following in the terminal:

brew install autoconf automake libtool brew install libxml2 libxslt libevent 

7) Install python dependencies

sudo easy_install -U setuptools pip install --user -r requirements.txt 

It should show something like this at the end:

Successfully installed Babel-1.3 Jinja2-2.7.3 Mako-1.0.1 MarkupSafe-0.23 Pillow-2.7.0 PyYAML-3.11 Python-Chart-1.39 Werkzeug-0.9.6 argparse-1.2.1 beautifulsoup4-4.4.1 decorator-3.4.0 docutils-0.12 feedparser-5.1.3 gdata-2.0.18 gevent-1.0.2 greenlet-0.4.7 jcconv-0.2.3 lxml-3.4.1 mock-1.0.1 ofxparse-0.14 passlib-1.6.2 psutil-2.2.0 psycogreen-1.0 psycopg2-2.5.4 pyPdf-1.13 pydot-1.0.2 pyparsing-2.0.1 pyserial-2.7 python-dateutil-1.5 python-ldap-2.4.19 python-openid-2.2.5 python-stdnum-1.2 pytz-2013.7 pyusb-1.0.0b2 qrcode-5.1 reportlab-3.1.44 requests-2.6.0 six-1.4.1 suds-jurko-0.6 vatnumber-1.2 vobject-0.6.6 xlwt-0.7.5 

8) Run odoo

cd odoo  # change dir to the folder you cloned odoo to export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8  # Re-check parameters, it looks like addons path you used is incorrect ./odoo.py --addons-path=addons --db-filter=mydb 

Now you should see the output like this:

INFO ? openerp: OpenERP version 9.0c INFO ? openerp: addons paths: ['/Users/dev/Library/Application Support/Odoo/addons/9.0', u'/Users/dev/projects/odoo/addons', '/Users/dev/projects/odoo/openerp/addons'] INFO ? openerp: database: default@default:default INFO ? openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069 

9) Open odoo in your browser

  • Go to http://localhost:8069
  • The database setup window appears (see the first screenshot below)
  • Enter databse name = mydbodoo (I think the prefix mydb is important here) and password admin
  • You can also check the checkbox to load the demo data
  • Click Create database
  • Wait and you should be redirected to the odoo interface (see the second screenshot)

Done!

Odoo databse setup

Odoo user interface

Update: Mac OS X El Capitan 10.11.2 with virtualenv

Do the same as above, on step (7) do not run pip install --user -r requirements.txt and instead to this:

pip install virtualenv  # not sure here, sudo may be needed mkdir ~/venv cd ~/venv mkdir odoo virtualenv odoo source ~/venv/odoo/bin/activate cd ~/path/to/odoo pip install -r requirements.txt  # no sudo here! 

Now continue with step (8). Each time, before starting odoo make sure to activate the virtualenv first:

source ~/venv/odoo/bin/activate export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8  ./odoo.py --addons-path=addons --db-filter=mydb 

Ubuntu 15.04

Prerequisites: I already had postgresql 9.4.5, nodejs 0.10.25 and python 2.7.8.

Installation:

git clone https://github.com/odoo/odoo.git  cd odoo sudo apt-get install libldap2-dev libsasl2-dev libevent-dev libxslt1-dev libxml2-dev  pip install -r requirements.txt sudo npm install -g less less-plugin-clean-css ./odoo.py --addons-path=addons --db-filter=mydb 

That's all, now setup the same way as in the step (9) for Mac OS.

like image 181
Boris Serebrov Avatar answered Sep 22 '22 10:09

Boris Serebrov