Convert Python packages into a single script
Stickytape can be used to convert a Python script and any Python modules it depends into a single-file Python script. You can tell stickytape which directories to search using the --add-python-path argument. For instance:
stickytape scripts/blah --add-python-path . > /tmp/blah-standalone
Or to output directly to a file:
stickytape scripts/blah --add-python-path . --output-file /tmp/blah-standalone
You can also point stickytape towards a Python binary that it should use sys.path from, for instance the Python binary inside a virtualenv:
stickytape scripts/blah --python-binary _virtualenv/bin/python --output-file /tmp/blah-standalone
As you might expect with a program that munges source files, there are a few caveats:
- Detection of imports is done using a fairly simple regex. For instance, things will go horribly wrong if you use have two import statements on the same line separated by a semi-colon. Similarly, imports using importlib won’t be detected.
- Anything that relies on the specific location of files will probably no longer work. In other words, __file__ probably isn’t all that useful.
- Any files that aren’t imported won’t be included. Static data that might be part of your project, such as other text files or images, won’t be included.
Release history Release notifications | RSS feed
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size stickytape-0.1.2.tar.gz (3.5 kB)||File type Source||Python version None||Upload date||Hashes View|