开发者

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

ImportError: No module named _elementpath

I then used python setup.py py2exe -p lxml and I did not get the above error but another one saying

ImportError: No mo开发者_开发问答dule named gzip

Could anyone let me know what the problem is and how I can fix it. Also should I put any dll files like libxml2, libxslt etc in my dist folder? I searched the computer and did not find these files, so maybe they aren't needed?

Thanks.

Edit: I just tried with python setup.py py2exe -p -i gzip and the exe was created. But the exe generated does not run. I double click it and it doesn't do anything.

Here's the setup.py script i'm using

from py2exe.build_exe import py2exe
from distutils.core import setup

setup( windows=[{"script": "gui.py"}] )

Edit2: I tried using cx_freeze as an alternative , but got the same

ImportError: No module named _elementpath

error. Didn't know how to proceed after that.


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.


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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜