I plan to mantain **two** different requirements files: 1. Using freeze from the activated venv: `pip freeze > requirements_freezed.txt` 2. Using pipreqs, pointing to the flask_be folder: `pipreqs {gitDir}/flask_be` The reasons: - pip freeze saves the packages that are installed with pip install in your environment, while pipreqs saves the packages that are **imported** in the workspace - pip freeze saves **all** packages in the environment (global or venv) including those that you don’t use in your current project and doesn't save packages which are **not** installed even if the project does need them - pip freeze saves the EXACT (==) version of the packages installed; this is sometimes annoying, but makes for better reproducibility. pipreqs will deduce the dependencies from the imported packages, which typically implies they will >= a given version. Both files should be able to get the app running. I recommend registering the version of Python, pip and pipreqs in the requirements files too.