Thursday, August 30, 2018

I opened #2516 because Vera will soon ask me how to print the accounting data she’s entering.

First step is a new mixin lino.modlib.users.UserPlan, i.e. I extracted the logic from invoicing plan to make it useable for ledger report.

I ran pp inv mm after this.

Getting appy.pod run under Python 3

Here is how to install appy-python-3. The fact that there is no setup.py file makes things more complicated.

To get the latest development version published on pallavi, you can say pip install -r "svn+https://svn.forge.pallavi.be/appy-dev/dev1#egg=appy" as we do in the requirements.python3.txt file of the book.

But if you develop yourself, i.e. want to use your local clone of that repository, then you cannot use pip install Here is how to work around this.

First find our where is the site-packages directory of your environment:

$ pywhich django
/media/dell1tb/virtualenvs/py3/lib/python3.6/site-packages/django/__init__.py

Then add a symbolic link to that directory:

$ cd /media/dell1tb/virtualenvs/py3/lib/python3.6/site-packages
$ ln -s /home/luc/repositories/appy-python-3/trunk appy

The inv test command failed in Lino Extensions Library. Since under Python 3, appy is installed using a symbolic link, setup.py test doesn’t see it and tries to install it, which fails since appy itself works only on Python 2. So we must not add it to install_requires in the setup_info.py:

import sys
PY2 = sys.version_info[0] == 2
if PY2:
    install_requires.append('appy')
else:
    pass

I could then reproduce the place where Hamza is currently stuck:

$ go book
$ inv prep test

Yes, there are only 5 failures which look like trivial Python 2-to-3 issues. I fixed one of them (“doctest docs/dev/builddocs.rst”, i.e. the source code of Building the Lino docs).