You should save the scaler params used to fit the training set and use the same ones to transform all other data used with the model from then on - whether CV, test or new unseen data.
After training/testing my algo, I will make new predictions using new actual data which will not be scaled or normalized.
No that won't work. Once you add scaling/normalisation to the training pipeline, the exact same scaling (as in same scaling params, not re-calculated) should be applied to all input features.
The scikit-learn scalers like e.g.
StandardScaler have two key methods:
fit should be applied to your training data
transform should be applied after fit, and should be used on every data set to normalise model inputs.
fit_transform can be used on the training data only to do both in a single step.
If you need to do the training and predictions in different processes (maybe live predictions are on different devices for instance), then you need to save and restore the scaling params. One basic, simple way to do this is using
pickle.dump( min_max_scaler, open( "scaler.p", "wb" ) ) to save to a file and
min_max_scaler = pickle.load( open( "scaler.p", "rb" ) ) to load it back.