>>> I don't have any explicit version numbers in my requirements.txt file. <<<
When you don't have explicit version numbers, the system will install the most recent. Sometimes the most recent version of one package causes issues in another package and you are thus advised to stick with a lower version or range of lower versions (i.e. a version is pinned). This is the warning message you are getting here
In your example, your system has automatically installed google-api-core 2.0.0 but your version of google-cloud-datastore needs something lower than 2.0.0 but a minimum of 1.14.0
To fix it, you should set explicit version numbers for the packages mentioned, using the range or version mentioned in the error message you received. You'll have to pick something that works for you. For example, you can have google-api-core 1.14.0 in your requirements.txt file but this assumes that there is nothing in your code that needs a feature that is in a higher release