关于在windows上调试ODOO8.0的几个问题
继在Ubuntu上搭建8.0的调试环境后,尝试在windows上搭建开发环境。
最终的调试和开发还是会回到Linux环境下的,因为前段时间手贱,修改分区表,把grub搞哈了。哎!后来重建mbr,手动找回分区表(没备份),总算数据没丢。
安装的windows开发环境,为了临时解决几个问题。总结一下,对于Windows和Linux共存的问题,在磁盘紧张的时候,
手不能贱啊!-_-!!!
调试odoo8.0的系统环境是win2012 R2评估版,已经过期;在vm虚拟机中安装,pycharm调试。
安装过程都很简单,网上较多教程,以下只说明几个问题,是需要注意的部分:
(一) 如果想调试比较简单,建议分别在机器上先下载allinone7.0和8.0的版本,然后分别安装在不同的目录。(下载地址见注一)
至于原因,大致是部分组件或环境在安装包中可以配置或者已经部署,是一种简单的方式,反正调试不会直接用到它们。
(二) 类似按《Ubuntu下用PyCharm 运行调试 Odoo 8.0 可能存在的问题》的方式设置pycharm的debug配置参数。
因为是临时的开发环境,我没有下载源码调试,而是用的green版本,在pycharm中添加green版的目录,然后debug调试openerp-server文件。
(三) 除了7.0调试时需要安装的组件,还需要安装以下组件,条件是只要正常访问外网即可。
1. --以下是odoo8.0调试需要多安装的组件,相比较7.0而言.
2. ImportError: No module named pyPdf
3. C:\Users\Administrator>easy_install pyPdf
4. Searching for pyPdf
5. Reading https://pypi.python.org/simple/pyPdf/
6. Reading http://pybrary.net/pyPdf/
7. Download error on http://pybrary.net/pyPdf/: [Errno 11002] getaddrinfo failed -- Some packages may not be found!
8. Reading http://stompstompstomp.com/pyPdf/
9. Download error on http://stompstompstomp.com/pyPdf/: [Errno 11002] getaddrinfo failed -- Some packages may not be found!
10. Best match: pyPdf 1.13
11. Downloading https://pypi.python.org/packages/source/p/pyPdf/pyPdf-1.13.tar.gz#md5=7a75ef56f227b78ae62d6e38d4b6b1da
12. Processing pyPdf-1.13.tar.gz
13. Writing c:\users\admini~1\appdata\local\temp\easy_install-bjtpkg\pyPdf-1.13\setup.cfg
14. Running pyPdf-1.13\setup.py -q bdist_egg --dist-dir c:\users\admini~1\appdata\local\temp\easy_install-bjtpkg\pyPdf-1.13\egg-dist-tmp-etbabh
15. Not SVN Repository
16. zip_safe flag not set; analyzing archive contents...
17. Adding pypdf 1.13 to easy-install.pth file
18.
19. Installed d:\python27\lib\site-packages\pypdf-1.13-py2.7.egg
20. Processing dependencies for pyPdf
21. Finished processing dependencies for pyPdf
22.
23. ImportError: No module named passlib.context
24. C:\Users\Administrator>easy_install passlib
25. Searching for passlib
26. Reading https://pypi.python.org/simple/passlib/
27. Best match: passlib 1.6.2
28. Downloading https://pypi.python.org/packages/source/p/passlib/passlib-1.6.2.tar.gz#md5=2f872ae7c72ca338634c618f2cff5863
29. Processing passlib-1.6.2.tar.gz
30. Writing c:\users\admini~1\appdata\local\temp\easy_install-gydh8e\passlib-1.6.2\setup.cfg
31. Running passlib-1.6.2\setup.py -q bdist_egg --dist-dir c:\users\admini~1\appdata\local\temp\easy_install-gydh8e\passlib-1.6.2\egg-dist-tmp-bsbrr3
32. Not SVN Repository
33. Adding passlib 1.6.2 to easy-install.pth file
34.
35. Installed d:\python27\lib\site-packages\passlib-1.6.2-py2.7.egg
36. Processing dependencies for passlib
37. Finished processing dependencies for passlib
(四) 在debug前,绿色版的配置文件openerp-server.conf需要移动到source目录下。
否则会报类似这样的错误'ERROR: No user specified for the connection to the database'。
(五) 如果提示无法访问数据库,调试的时候多看看log,可能是默认访问的数据库去找postgres了。
可以在配置文件openerp-server.conf中,添加参数如下
1. db_name = False
2. dbfilter = GPT8a1
我没有修改py文件,也不必担心类似
这个问题 ,它会去找你指定的db,
如图1
(六) 至于为什么8.0在启动时,addons会从3个不同的位置加载?
当然,正确的addons取决于你在配置文件中addons_path的设置!以下是绿色版的说明:
data\\addons\\8.0目录是系统自动生成的,你暂时可以不用管它;
'D:\\GreenOdoo-8.0-win32\\source\\openerp\\addons'目录,这里面只是base基础模块,你最好别去动它,对应内置的base_addons参数;
'D:\\GreenOdoo-8.0-win32\\source\\addons'目录,这里面的组件是剩下最全的,你动吧!它对于内置的main_addons参数值。
(七) 有人会发现,为什么我安装的版本里面,没有pg库,或者我在调试的时候无法启动pg库怎么办?
很简单,你不是安装了allinone7.0吗?它pg的服务是独立的,简单吧?
启动它(虽然它的版本可能是9.2的,没关系!)。
在调试的时候,同样配置文件中指定pg_path吧。
比如我的调试配置文件是这样,更多参数可以同样设定:
1. [options]
2. ; This is the password that allows database operations:
3. ; admin_passwd = admin
4. db_host = localhost
5. db_port = 5432
6. db_user = openpg
7. db_password = openpgpwd
8. db_name = False
9. dbfilter = GPT8a1
10. pg_path = D:/OpenERP 7.0-20140305-001210/PostgreSQL/bin
11. addons_path = D:\GreenOdoo-8.0-win32\source\addons
12. data_dir = data
13. log_level = debug_sql
14. ; logfile = openerp-server.log
15. ; logrotate = True
没有问题把!就是这样简单,别把时间耗在搭建环境上,呵呵。结果类似这样,
如图2
注一:
1)步科绿色版:
https://github.com/buke/GreenOdoo
2)官方:
源码下载 https://github.com/odoo/odoo
Openerp 7.0程序(及源代码)下载http://nightly.openerp.com/7.0
odoo 8.0 程序(及源代码)下载http://nightly.openerp.com/8.0/nightly/
3)移动版:
http://mobile.odoo.co.in
4)非官方的二进制python包
http://www.lfd.uci.edu/~gohlke/pythonlibs/
继在Ubuntu上搭建8.0的调试环境后,尝试在windows上搭建开发环境。
最终的调试和开发还是会回到Linux环境下的,因为前段时间手贱,修改分区表,把grub搞哈了。哎!后来重建mbr,手动找回分区表(没备份),总算数据没丢。
安装的windows开发环境,为了临时解决几个问题。总结一下,对于Windows和Linux共存的问题,在磁盘紧张的时候,
手不能贱啊!-_-!!!
调试odoo8.0的系统环境是win2012 R2评估版,已经过期;在vm虚拟机中安装,pycharm调试。
安装过程都很简单,网上较多教程,以下只说明几个问题,是需要注意的部分:
(一) 如果想调试比较简单,建议分别在机器上先下载allinone7.0和8.0的版本,然后分别安装在不同的目录。(下载地址见注一)
至于原因,大致是部分组件或环境在安装包中可以配置或者已经部署,是一种简单的方式,反正调试不会直接用到它们。
(二) 类似按《Ubuntu下用PyCharm 运行调试 Odoo 8.0 可能存在的问题》的方式设置pycharm的debug配置参数。
因为是临时的开发环境,我没有下载源码调试,而是用的green版本,在pycharm中添加green版的目录,然后debug调试openerp-server文件。
(三) 除了7.0调试时需要安装的组件,还需要安装以下组件,条件是只要正常访问外网即可。
1. --以下是odoo8.0调试需要多安装的组件,相比较7.0而言.
2. ImportError: No module named pyPdf
3. C:\Users\Administrator>easy_install pyPdf
4. Searching for pyPdf
5. Reading https://pypi.python.org/simple/pyPdf/
6. Reading http://pybrary.net/pyPdf/
7. Download error on http://pybrary.net/pyPdf/: [Errno 11002] getaddrinfo failed -- Some packages may not be found!
8. Reading http://stompstompstomp.com/pyPdf/
9. Download error on http://stompstompstomp.com/pyPdf/: [Errno 11002] getaddrinfo failed -- Some packages may not be found!
10. Best match: pyPdf 1.13
11. Downloading https://pypi.python.org/packages/source/p/pyPdf/pyPdf-1.13.tar.gz#md5=7a75ef56f227b78ae62d6e38d4b6b1da
12. Processing pyPdf-1.13.tar.gz
13. Writing c:\users\admini~1\appdata\local\temp\easy_install-bjtpkg\pyPdf-1.13\setup.cfg
14. Running pyPdf-1.13\setup.py -q bdist_egg --dist-dir c:\users\admini~1\appdata\local\temp\easy_install-bjtpkg\pyPdf-1.13\egg-dist-tmp-etbabh
15. Not SVN Repository
16. zip_safe flag not set; analyzing archive contents...
17. Adding pypdf 1.13 to easy-install.pth file
18.
19. Installed d:\python27\lib\site-packages\pypdf-1.13-py2.7.egg
20. Processing dependencies for pyPdf
21. Finished processing dependencies for pyPdf
22.
23. ImportError: No module named passlib.context
24. C:\Users\Administrator>easy_install passlib
25. Searching for passlib
26. Reading https://pypi.python.org/simple/passlib/
27. Best match: passlib 1.6.2
28. Downloading https://pypi.python.org/packages/source/p/passlib/passlib-1.6.2.tar.gz#md5=2f872ae7c72ca338634c618f2cff5863
29. Processing passlib-1.6.2.tar.gz
30. Writing c:\users\admini~1\appdata\local\temp\easy_install-gydh8e\passlib-1.6.2\setup.cfg
31. Running passlib-1.6.2\setup.py -q bdist_egg --dist-dir c:\users\admini~1\appdata\local\temp\easy_install-gydh8e\passlib-1.6.2\egg-dist-tmp-bsbrr3
32. Not SVN Repository
33. Adding passlib 1.6.2 to easy-install.pth file
34.
35. Installed d:\python27\lib\site-packages\passlib-1.6.2-py2.7.egg
36. Processing dependencies for passlib
37. Finished processing dependencies for passlib
(四) 在debug前,绿色版的配置文件openerp-server.conf需要移动到source目录下。
否则会报类似这样的错误'ERROR: No user specified for the connection to the database'。
(五) 如果提示无法访问数据库,调试的时候多看看log,可能是默认访问的数据库去找postgres了。
可以在配置文件openerp-server.conf中,添加参数如下
1. db_name = False
2. dbfilter = GPT8a1
我没有修改py文件,也不必担心类似 这个问题 ,它会去找你指定的db,
如图1
(六) 至于为什么8.0在启动时,addons会从3个不同的位置加载?
当然,正确的addons取决于你在配置文件中addons_path的设置!以下是绿色版的说明:
data\\addons\\8.0目录是系统自动生成的,你暂时可以不用管它;
'D:\\GreenOdoo-8.0-win32\\source\\openerp\\addons'目录,这里面只是base基础模块,你最好别去动它,对应内置的base_addons参数;
'D:\\GreenOdoo-8.0-win32\\source\\addons'目录,这里面的组件是剩下最全的,你动吧!它对于内置的main_addons参数值。
(七) 有人会发现,为什么我安装的版本里面,没有pg库,或者我在调试的时候无法启动pg库怎么办?
很简单,你不是安装了allinone7.0吗?它pg的服务是独立的,简单吧?
启动它(虽然它的版本可能是9.2的,没关系!)。
在调试的时候,同样配置文件中指定pg_path吧。
比如我的调试配置文件是这样,更多参数可以同样设定:
1. [options]
2. ; This is the password that allows database operations:
3. ; admin_passwd = admin
4. db_host = localhost
5. db_port = 5432
6. db_user = openpg
7. db_password = openpgpwd
8. db_name = False
9. dbfilter = GPT8a1
10. pg_path = D:/OpenERP 7.0-20140305-001210/PostgreSQL/bin
11. addons_path = D:\GreenOdoo-8.0-win32\source\addons
12. data_dir = data
13. log_level = debug_sql
14. ; logfile = openerp-server.log
15. ; logrotate = True
没有问题把!就是这样简单,别把时间耗在搭建环境上,呵呵。结果类似这样,
如图2
注一:
1)步科绿色版:
https://github.com/buke/GreenOdoo
2)官方:
源码下载 https://github.com/odoo/odoo
Openerp 7.0程序(及源代码)下载http://nightly.openerp.com/7.0
odoo 8.0 程序(及源代码)下载http://nightly.openerp.com/8.0/nightly/
3)移动版:
http://mobile.odoo.co.in
4)非官方的二进制python包
http://www.lfd.uci.edu/~gohlke/pythonlibs/