Skip to content Skip to sidebar Skip to footer

Py2exe Lxml Woes

I have a wxpython application that depends on lxml and works well when running it through the python interpreter. However, when creating an exe with py2exe, I got this error Impor

Solution 1:

Py2exe allows you to specify additional packages/modules to include with the options argument to setup(), in case they are not automatically detected. The following should work:

from distutils.core import setup
import py2exe

setup(
    windows=[{'script': 'gui.py'}],
    options={
        'py2exe': 
        {
            'includes': ['lxml.etree', 'lxml._elementpath', 'gzip'],
        }
    }
)

I've also recently discovered PyInstaller, which has built-in support for a number of well-known packages, including lxml, so that might be worth a try as well.

Solution 2:

Sometimes you will need to do another action more after modify the setup.py file.

As described here, it should be necessary to uninstall the package if it is installed on "eggs" archive. Then install it again by forcing easy_install to dezip the archive with the "-Z" option as following (I had the issue with paramiko package):

pip uninstall paramiko
easy_install -Z paramiko

Post a Comment for "Py2exe Lxml Woes"