Saturday, April 11, 2015

5.6 AMD64 X200: Tryton ERP, "no module named stdnum" error when installing "bank" module.

Hey,

I'm currently trying out Tryton ERP, a fork of OpenERP which is now known as Odoo ERP. Both are open-source, although some would differ on which is more open-source than the other.

Anyway, I have a test "server" in my office now, although not much of a server as it's just an Intel Atom netbook but sufficient for my testing usage. Its role? Well I want it to be a testbed for database server, probably an ERP/CRM/HRM server the company I work at can use.

In that "server", I have Odoo installed. And in my lappy, I have Tryton installed. I like how Odoo (v8) have (in my opinion) a mature web ui, which currently Tryton don't (yes I know tryton have SAO). But that is somewhat a plus-point because I want the staff to use the web ui. Also Odoo's module can be installed via their web ui. Then their HR app is good.

Why didn't I install Odoo in my laptop too? Well, because Tryton is a fork of the same base ERP, and then Tryton is already in OpenBSD's package. Also there's quite convincing arguement from Tryton's dev on why their program is better (in term of coding, stability, security) from Odoo (or OpenERP as I read the comparison between Tryton vs Odoo/OpenERP v7 only). But Tryton's module installation is quite a hassle as you need to do pkg_add then import the installed module using trytond -i all -d "dbname".

Speaking of which, I was trying out some of the modules available for Tryton. I was a bit frustrated when on OpenBSD there's no trytond-module-all module so I can install all available module just in 1 go; but then this have it merits as I stumbled on an issue while installing the "trytond-module-bank" module.

pkg_add trytond-module-bank installation went fine. The problem arose when I tried to import the module using trytond -i all -d tryton32 (take note "tryton32" is my database name). I received this error message:

$ no module named stdnum

After searching for answer, I found that this module (trytond-module-bank) requires a python module called "python-stdnum" which is not the OpenBSD's package system. So I search for it using "pip".

$ sudo pip search stdnum

And there it is. "python-stdnum" module sitting there waiting for me to install it. And that's what I did.

$ sudo pip install python-stdnum

Installation went ok. Good. Then I proceed with importing the module in Tryton.

$ sudo trytond -i all -d tryton32

Success! Now I can continue experimenting with this great software.

Oh another thing. In /etc/trytond.conf, take note for these settings:

jsonrpc = localhost:8000

Make sure that if you're using Tryton client, the "hostname" is set to localhost, not the local IP Address (127.0.0.1) because I've done that and it won't connect.

Later then.