On Tuesday, 20 September 2016 05:45:53 UTC+1, Malcolm Greene wrote: > I really appreciate the detailed response. You answered all my > questions. I'm looking forward to testing out your pylaunch wrapper.
Just one further note, which may or may not be obvious. If your application uses external dependencies from PyPI, you can bundle them with your application using pip's --target option. So suppose you have an application "myapp", in a directory called "myapp", which depends on (say) click and requests. So you have something like myapp __main__.py mymod __init__.py code.py morecode.py To install requests and click ready for deployment, you can do pip install --target myapp requests click That will give you the structure myapp __main__.py mymod __init__.py code.py morecode.py requests requests-2.11.1.dist-info click click-6.6.dist-info You can delete the .dist-info directories if you wish, they are package metadata and not really important for deployment. Then just bundle your application using "python -m zipapp myapp" and you have a fully standalone .pyz file, that doesn't require the user to have click or requests installed. There are some external dependencies that won't work when bundled in a zipapp (most notably anything with a C extension) but for the majority of cases this works just fine. Also, again in case you're not aware because it wasn't very well publicised when it was released, you can test your application before zipping it just by giving Python the name of the directory structured as above (python myapp). This won't catch dependencies that don't like being zipped, but it will save you having to go through zip/test/unzip/fix/rezip cycles during development. Anyway, I hope this is useful. Paul -- https://mail.python.org/mailman/listinfo/python-list