我是OpenERP和Python的新手,我正在尝试理解py文件中的各种功能。所有文件中都使用了导入函数,通常分为两部分:第一部分似乎是指Python库(称为模块?),如from datetime import datetime
或from dateutil.relativedelta import relativedelta
,但第二部分,我不是知道它指的是什么。
我想知道以下功能的含义:
import netsvc
import pooler
from osv import fields, osv
import decimal_precision as dp
from tools.translate import _
什么是netsvc,pooler,osv,decimal_precision,tools_translate?如果它们是openERP模块,我在哪里可以找到它们背后的代码,否则它们是什么?
如果他/她知道任何人能够向我解释所有人以及任何其他类似的人,我将不胜感激。
答案 0 :(得分:3)
所有这些都是openerp python模块:
./server/6.1/openerp/netsvc.py
./server/6.1/openerp/pooler.py
./server/6.1/openerp/osv/osv.py
./server/6.1/openerp/tools
除decimal_precision
openerp module
之外,您可以在插件中找到它:
./addons/6.1/decimal_precision
所有这些导入都是relative import
,这是一种糟糕的编码态度(see the relative pep)。幸运的是,openerp团队正朝着更好的方法迈进,如from openerp.addons import this
。
答案 1 :(得分:2)
这些是Python模块。它们不是标准库的一部分,而是您安装的某些第三方库。它们可能是OpenERP的一部分,也可能是OpenERP使用的其他库的一部分。如果打开交互式解释器,则可以导入模块,然后查看其__file__
属性以查看文件的位置。例如,对于我已安装的名为guineapyg
的随机模块:
>>> import guineapyg
>>> guineapyg.__file__
'C:\\Documents and Settings\\BrenBarn\\My Documents\\Python\\guineapyg\\guineapyg.py'
您应该阅读the Python tutorial以熟悉导入模块和其他基本Python内容。
答案 2 :(得分:2)
您可以在$ server / openerp /
中找到代码所有都是$ server / openerp /
的相对路径其中" $ server"是OpenERP服务器的路径
答案 3 :(得分:2)
pooler
是一个python模块,它跟踪您已安装的所有模块的所有对象,并为每个数据库维护它。
netsvc
模块负责socket
服务(默认8070端口连接openerp)
decimal_precision
是一个模块,负责处理需要的浮点数,如发票中的税价取决于您选择的2位小数或3位小数等...这也取决于您提供的配置,此模块是负责为所有这些对象保持相同的配置(以提供相同的小数精度)
_
是gettext.gettext
别名,用于保存您为所选数据库安装的所有语言的信息。
位置:
netsvc $Server_path/openerp/netsvc.py
pooler $Server_path/openerp/pooler.py
$ server_path - 是您安装openerp服务器的地方。
decision_precision
你可以在openerp插件里面找到一个标准的openerp模块。
答案 4 :(得分:1)
听起来你已经安装了一些OpenERP版本,其中包含编译文件而不是原始Python源代码。
我建议您reconfigure your development environment通过从启动板检查源并从源代码运行服务器。就个人而言,我喜欢在Eclipse下使用PyDev运行它,因为它有一个很好的调试器。
对于Eclipse中的项目配置,我只是从启动板检出每个分支,然后将每个分支作为项目导入我的Eclipse工作区。发布细节在6.0和6.1之间略有不同。以下是用于启动 server 项目的每个版本的命令行参数:
6.0:
- addons-path $ {workspace_loc:openerp-addons-6.0} --config $ {workspace_loc:openerp-config / src / server.config} --xmlrpc-port = 9069 --netrpc-port = 9070 - -xmlrpcs端口= 9071
6.1需要Web客户端与服务器一起启动:
- addons-path $ {workspace_loc:openerp-addons-trunk},$ {workspace_loc:openerp-web-trunk} / addons,$ {workspace_loc:openerp-migration} --config $ {workspace_loc:openerp-config /src/server.config} --xmlrpc-port = 9069 --netrpc-port = 9070 --xmlrpcs-port = 9071
答案 5 :(得分:0)