无法在Mac OS X中正确运行odoo

2024-06-07 05:27:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在我的Mac OS X El Capitan 10.11.2中安装了Git的Odoo 9社区版本,所有步骤:

python --version
Python 2.7.10

git clone https://github.com/odoo/odoo.git
Checking out files: 100% (20501/20501), done.

PostgresApp安装到Applications中,并在~/.bash_profile中添加路径,执行相同的操作。

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

已安装pip

sudo easy_install pip
Finished processing dependencies for pip

我的系统中已经安装了nodejs

node -v
v5.0.0
npm -v
3.3.9

已安装lessless-plugin-clean-css

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

我安装了最新的xcode

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

我已经安装了自制程序

/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

已安装其他lib

brew install autoconf automake libtool
brew install libxml2 libxslt libevent

已安装的Python依赖项

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

运行odoo

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

./odoo.py --addons-path=addons --db-filter=mydb

上面写着

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

浏览器说500 500 Internal Server Error 在终点站

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"?

启动PostgresApp以解决此问题。

现在我得到了数据库设置窗口出现没有CSS在下面的屏幕截图。

使用密码创建数据库mydbodoo,并导航到主页http://localhost:8069/web/ 它显示了一个空白页,有黑色的标题和odoo标志,终端也有一些错误。

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'

屏幕截图:终端和文件系统

enter image description here

屏幕截图:数据库选择窗口

enter image description here

屏幕截图:主窗口

enter image description here

试过sudo pip install pyPdf,上面写着Requirement already satisfied (use --upgrade to upgrade): pyPdf in /Users/anshad/Library/Python/2.7/lib/python/site-packages


Tags: inpyodooinfowebhttplineusers
3条回答

它们可能是一些python模块、库、包或nodejs问题。

尝试以下信息:

  1. 下面的命令将安装Odoo所需的所有python模块。

    pip install lxml
    
  2. 检查您的werkzeug版本。如果不升级,它将0.9.6,

    pip show werkzeug #this command will show the details of werkzeug
    pip install werkzeug==0.9.6 #this command will install werkzeug up to 0.9.6
    
  3. 通过首选包管理器(homebrewmacports)安装nodejs,然后安装lessless plugin clean css

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

有关详细信息,Odoo9 setup documentation.

注意:

默认登录名和密码为adminadmin

编辑:1

尝试使用下面的命令解析ImportError:没有名为pyPdf的模块。

pip install pypdf

编辑:2

如果找不到相关分发服务器,请尝试使用下面的命令。

pip install --allow-unverified pyPdf pyPdf

我刚刚在两个系统上完成了设置,一个是MacOSXElCapitan10.11.2,另一个是我的主操作系统Ubuntu15.04(事情变得简单多了,但可能只是因为我每天都在使用Ubuntu15.04)。

下面是两个系统的安装步骤。确保每个命令都成功完成(至少不报告任何错误)。

Mac OS X El Capitan 10.11.2版

先决条件:我已经有了gitpython 2.7.10

1)克隆odoo存储库:

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

2)下载并安装Postgresapp

  • 转到http://postgresapp.com/,下载
  • 在Finder中打开它,拖动到应用程序,双击
  • 出现Postgres应用程序,双击它
  • 很抱歉,如果这些步骤是显而易见的,那只是为了我,因为我不是Mac OS用户

现在添加到~/.bash_profile

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

如果你已经有了开放终端,就执行上面的命令。

3)安装pip

sudo easy_install pip

4)安装nodejs

  • 转到https://nodejs.org
  • 下载节点v4.3.0
  • 移动到应用程序,运行并安装
  • 打开终端并检查nodenpm命令是否可用

5)安装lessless-plugin-clean-css

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

应显示如下输出:

/usr/local/bin/lessc -> /usr/local/lib/node_modules/less/bin/lessc
less-plugin-clean-css@1.5.1 /usr/local/lib/node_modules/less-plugin-clean-css
└── clean-css@3.4.9 (source-map@0.4.4, commander@2.8.1)
less@2.6.0 /usr/local/lib/node_modules/less
├── mime@1.3.4
├── graceful-fs@3.0.8
├── image-size@0.3.5
├── errno@0.1.4 (prr@0.0.0)
├── promise@6.1.0 (asap@1.0.0)
├── source-map@0.4.4 (amdefine@1.0.0)
├── mkdirp@0.5.1 (minimist@0.0.8)
└── request@2.69.0 (aws-sign2@0.6.0, forever-agent@0.6.1, tunnel-agent@0.4.2, oauth-sign@0.8.1, is-typedarray@1.0.0, caseless@0.11.0, stringstream@0.0.5, isstream@0.1.2, json-stringify-safe@5.0.1, extend@3.0.0, tough-cookie@2.2.1, node-uuid@1.4.7, qs@6.0.2, combined-stream@1.0.5, mime-types@2.1.9, form-data@1.0.0-rc3, aws4@1.2.1, hawk@3.1.3, bl@1.0.2, har-validator@2.0.6, http-signature@1.1.1)

6)安装二进制依赖项

我认为并不是所有的步骤都是必要的,但是我已经完成了,所以请把这些步骤包括在实际需要的情况下。

  • 当出现对话框时,在终端xcode-select --install中运行-同意安装
  • 转到http://brew.sh并按照说明安装自制程序

完成brew后,在终端中运行以下命令:

brew install autoconf automake libtool
brew install libxml2 libxslt libevent

7)安装python依赖项

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

它应该在结尾显示这样的内容:

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)运行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

现在您应该看到这样的输出:

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)在浏览器中打开odoo

  • 转到http://localhost:8069
  • 出现“数据库设置”窗口(请参阅下面的第一个屏幕截图)
  • 输入database name=mydbodoo(我认为前缀mydb在这里很重要)和密码admin
  • 您还可以选中复选框以加载演示数据
  • 单击Create database
  • 等等,您应该被重定向到odoo界面(请参见第二个屏幕截图)

完成!

Odoo databse setup

Odoo user interface

更新:Mac OS X El Capitan 10.11.2和virtualenv

执行上述操作,在步骤(7)中不要运行pip install --user -r requirements.txt,而是执行以下操作:

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!

现在继续步骤(8)。每次启动奥多之前,请确保首先激活virtualenv:

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

乌班图15.04

先决条件:我已经有了postgresql 9.4.5、nodejs 0.10.25和python 2.7.8。

安装:

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

仅此而已,现在按照步骤(9)中针对Mac OS的相同方式进行设置。

我什么都做了,但不能在我的mac 10.11.6上运行odoo。

当我试图运行odoo./odoo.py时遇到了这个问题

psycopg2 can't find symbol _PQbackendPID

我发现我安装了很多版本的python,从2.3到3.5不等

已删除所有版本的pythonHow to uninstall Python 2.7 on a Mac OS X 10.6.4?

$ brew uninstall --force python3
$ brew uninstall --force python

清除~/.bash_profile中的所有更改

也删除了/usr/local/lib/python2.7/site-packages

然后从头开始:

 $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 $ brew update
 $ brew install python

 $ brew install postgresql

要立即启动PostgreSQL并在系统启动时自动启动,我们运行:

 $ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
 $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
 // I had error: LaunchAgents not found 
 // If you have error you can download postgres from postgresapp.com to manually start the server

安装一些依赖项

$ brew install freetype jpeg libpng libtiff webp xz
$ pip install --upgrade pip
$ pip uninstall virtualenv
$ pip install virtualenv
// Delete existing ~/odoo-env folder first
$ virtualenv ~/odoo-env  
$ . ~/odoo-env/bin/activate

克隆git repository分支9.0

$ git clone https://github.com/odoo/odoo.git -b 9.0

切换到克隆的odoo目录(使用cd)并运行(您必须在虚拟环境中):

$ pip install -r requirements.txt

如果成功安装,请运行

$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ python ./odoo.py

Christoph Giesel撰写的精彩教程

相关问题 更多 >