Distributing an executable zip file with __main__.py, how to access extra data?

packaging, python, zipapp

Solution

I figured out by myself, It's sufficient to use pkgutil.get_data to access the data inside a package.

Problem

I'm doing a little program and I want to distribute it using this recipe: - single directory with `__main__.py` in it - zip this directory and adding a shebang on it `#!/usr/bin/env python` - making it executable The problem is that in this package I have also extra files (I'm using pygtk toolkit and I need images and ui xml files). When I try to access these files I have the error that the resource is unavailable (the path that I'm trying to open is something like file.zip/gui/gui.ui ). How can I handle this situation?

Original source

Related problems