继在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调试时需要安装的组件,还需要安装以下组件,条件是只要正常访问外网即可。
--以下是odoo8.0调试需要多安装的组件,相比较7.0而言. ImportError: No module named pyPdf C:\Users\Administrator>easy_install pyPdf Searching for pyPdf Reading https://pypi.python.org/simple/pyPdf/ Reading http://pybrary.net/pyPdf/ Download error on http://pybrary.net/pyPdf/: [Errno 11002] getaddrinfo failed -- Some packages may not be found! Reading http://stompstompstomp.com/pyPdf/ Download error on http://stompstompstomp.com/pyPdf/: [Errno 11002] getaddrinfo failed -- Some packages may not be found! Best match: pyPdf 1.13 Downloading https://pypi.python.org/packages/source/p/pyPdf/pyPdf-1.13.tar.gz#md5=7a75ef56f227b78ae62d6e38d4b6b1da Processing pyPdf-1.13.tar.gz Writing c:\users\admini~1\appdata\local\temp\easy_install-bjtpkg\pyPdf-1.13\setup.cfg 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 Not SVN Repository zip_safe flag not set; analyzing archive contents... Adding pypdf 1.13 to easy-install.pth file Installed d:\python27\lib\site-packages\pypdf-1.13-py2.7.egg Processing dependencies for pyPdf Finished processing dependencies for pyPdf ImportError: No module named passlib.context C:\Users\Administrator>easy_install passlib Searching for passlib Reading https://pypi.python.org/simple/passlib/ Best match: passlib 1.6.2 Downloading https://pypi.python.org/packages/source/p/passlib/passlib-1.6.2.tar.gz#md5=2f872ae7c72ca338634c618f2cff5863 Processing passlib-1.6.2.tar.gz Writing c:\users\admini~1\appdata\local\temp\easy_install-gydh8e\passlib-1.6.2\setup.cfg 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 Not SVN Repository Adding passlib 1.6.2 to easy-install.pth file Installed d:\python27\lib\site-packages\passlib-1.6.2-py2.7.egg Processing dependencies for passlib 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中,添加参数如下
db_name = False 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吧。
比如我的调试配置文件是这样,更多参数可以同样设定:
[options] ; This is the password that allows database operations: ; admin_passwd = admin db_host = localhost db_port = 5432 db_user = openpg db_password = openpgpwd db_name = False dbfilter = GPT8a1 pg_path = D:/OpenERP 7.0-20140305-001210/PostgreSQL/bin addons_path = D:\GreenOdoo-8.0-win32\source\addons data_dir = data log_level = debug_sql ; logfile = openerp-server.log ; 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/