:date: 2018-08-30 ========================= Thursday, August 30, 2018 ========================= I opened :ticket:`2516` because Vera will soon ask me how to print the accounting data she's entering. First step is a new mixin :class:`lino.modlib.users.UserPlan`, i.e. I extracted the logic from invoicing plan to make it useable for ledger report. I ran :cmd:`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 :xfile:`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 :file:`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 :cmd:`pip install` Here is how to work around this. First find our where is the :xfile:`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 :cmd:`inv test` command failed in :ref:`xl`. Since under Python 3, appy is installed using a symbolic link, :cmd:`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 :xfile:`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 :ref:`lino.dev.bd`).