If you wrote the code with a given version of a library, updating that library in the future is more likely to break your code than make it run better unless you intend to make use of the new features. Most of the time, you are better off sticking with the version you used when you wrote the code unless you want to change the code to use a new toy.
In order to ensure that the proper versions of every library are installed when the program is loaded on a new machine, you need a requirements.txt
document. Making one of these is easy. All you do is build your program inside a virtual environment (e.g. conda create -n newenv
conda activate newenv
) Only install libraries you need for your program and then, once all of your dependencies are installed, in your terminal, type pip freeze > requirements.txt
. This will put all your dependencies and their version information in the text document. When you want to use the program on a new machine, simply incorporate pip install -r requirements.txt
into the loading process for the program.
If you containerize it using something like docker
, your requirements.txt
dependencies can be installed automatically whenever the container is created. If you want to use a new library or library version, simply update it in your requirements.txt
and boom, you are up to date.