[reportlab-users] ReportLab 3.x packaging and deployment

Robin Becker robin at reportlab.com
Mon Jan 13 11:58:54 EST 2014

On 13/01/2014 15:27, Michael Hipp wrote:


> My only input is that it would be really, really nice if it could be installed

> into a venv using pip on Windows and still get all the binary acceleration

> goodness.


> (As opposed to using the typical Windows binary installer that mostly only knows

> how to install into the global location.)

Michael, I just tried this with one of our daily installers in a 2.7 environment

> (bbbb) C:\ux\ExeBuilder\aaaa>easy_install ..\exes\reportlab-daily.win32-py2.7.exe

> Processing reportlab-daily.win32-py2.7.exe

> reportlab.rl_config: module references __file__

> reportlab.__init__: module references __file__

> reportlab.lib.fontfinder: module references __file__

> reportlab.lib.testutils: module references __path__

> reportlab.lib.utils: module references __file__

> reportlab.lib.utils: module references __path__

> reportlab.pdfgen.pdfimages: module references __file__

> creating 'c:\tmp\_00rub~1\easy_install-lvzxi1\reportlab-daily-py2.7-win32.egg' and adding 'c:\tmp\_00rub~1\easy_install-

> lvzxi1\reportlab-daily-py2.7-win32.egg.tmp' to it

> creating c:\ux\exebuilder\aaaa\bbbb\lib\site-packages\reportlab-daily-py2.7-win32.egg

> Extracting reportlab-daily-py2.7-win32.egg to c:\ux\exebuilder\aaaa\bbbb\lib\site-packages

> Adding reportlab daily to easy-install.pth file


> Installed c:\ux\exebuilder\aaaa\bbbb\lib\site-packages\reportlab-daily-py2.7-win32.egg

> Processing dependencies for reportlab==daily

> Finished processing dependencies for reportlab==daily


> (bbbb) C:\ux\ExeBuilder\aaaa>

I'm guessing that this will still work with the latest code. If I just run the
exe directly even from inside an active venv then it goes directly to the
registry to locate the python; perhaps that is fixable somewhere inside distutils.

Currently I'm just using python setup.py bdist_wininst to make the exes.

Apparently symantic thinks the exes are virus ridden, I will try and make msi
files as a possible fix for that.

One issue for me is that we try to build the exes/pyds for both x86 and x86_64
architectures on a single win32 box. I just about manage to keep patching the
code for distutils to make that possible for python 2.6/7 & python 3.3. With a
new setuptools based installer builder that may not be easy or even possible.
The python docs don't seem to be very clear on whether cross architecture builds
are supposed to be feasible. Certainly some support for doing it is in the
distutils code; it just doesn't work properly so I have to patch.
Robin Becker

More information about the reportlab-users mailing list