I have a program in Python 2.X that relies on various outdated modules (e.g., Pyglet) that needs to be run on different Mac/ Windows OS machines. Currently, to get the program to work on a certain computer, I need to modify the source code and make sure the machine has the correct versions of the dependencies. Is there a way I can create one version of the program, and when I install on it a machine, it will automatically get the correct dependencies?
PyInstaller freezes (packages) Python applications into standalone executables, under Windows, Mac, Linux, FreeBSD, Solaris and AIX. These executable files can run on a system without Python installed. It is designed to be compatible with many third-party modules such as PyQt, Django or matplotlib without requiring configuration or plugins.
PyInstaller’s main advantages over similar tools are that PyInstaller works with Python 2.7 and 3.5-3.7, it builds smaller executables thanks to transparent compression, it is fully multi-platform, and uses the OS support to load the dynamic libraries, thus ensuring full compatibility.
The main goal of PyInstaller is to be compatible with third-party packages out of the box. This means that with PyInstaller all the required tricks to make external packages work are already integrated within PyInstaller itself, so that there is no user intervention required.
PyInstaller is open source software, distributed under the GPL.