I have been curious as to what are the limits of a virtual environment. I do understand that the purpose of the environment is to install packages and modules without affecting your local Python install. Then you create the requirements.txt file using pip and use that file when deploying your code. You just run pip against the requirements file, and everything is installed.
However, I have heard of people using the virtual environment upon deployment. From the outside, the environment seems like an easy way to bundle necessary packages along with the code. On the flip side, many experienced developers argue against this. They must have a good reason, but I have to yet hear it.
Can someone explain why I should avoid this approach?