I am writing a python3 app, that I would like to run on different computers.
The main obstacle I found, is the fact that Windows and OSX does use some API differently, but I can find out on which OS I am running, and handle these cases.
Although one issue came up, as being problematic; which is the fact that to use my app, I need to install on every machine I want it to run, all the dependency packages. Manual install may work, but I would like to achieve a more self-contained approach.
I did look into pyinstall
, but it didn't work in my case, since I get missing dependency when I run the application (especially if I use PyQt5 for the UI).
Then I discover pipenv
; which from my understanding, create a virtualenv and install the required dependency, by just passing the 2 files created when I create my project and integrate it with pipenv
; although it is not "self-contained from my understanding. Also virtualenv
still has to be installed on the machine, or pipenv
won't work.
What is the common python way to generate something that is distributed to other machines, while minimizing and self-containing everything to the max? Thanks