pip install errors: moto/boto3, awscli/colorama, requests?
> As noted in https://discordapp.com/channels/485586884165107732/565699007037571084/629449391266070563

I already have the repo cloned. I fetch and pull the latest master branch (to this moment) and freshly regenerate my virtualenv in `.env`, activate it and run `pip install -e ".[all,tests]" ` (as instructed in https://dvc.org/doc/user-guide/contributing). It succeeds but I get the following errors:

```console
Building wheels for collected packages: psutil
...
ERROR: moto 1.3.14.dev302 has requirement boto3>=1.9.201, but you'll have boto3 1.9.115 which is incompatible.
ERROR: awscli 1.16.252 has requirement colorama<=0.3.9,>=0.2.5, but you'll have colorama 0.4.1 which is incompatible.
```

diff --git a/setup.py b/setup.py
index b23d269db..08324a0be 100644
--- a/setup.py
+++ b/setup.py
@@ -52,6 +52,7 @@ class build_py(_build_py):
 
 
 install_requires = [
+    "python-dateutil<2.8.1,>=2.1",  # Consolidates azure-blob-storage and boto3
     "ply>=3.9",  # See https://github.com/pyinstaller/pyinstaller/issues/1945
     "configparser>=3.5.0",
     "future>=0.16.0",
@@ -72,7 +73,7 @@ install_requires = [
     "treelib>=1.5.5",
     "inflect>=2.1.0",
     "humanize>=0.5.1",
-    "PyYAML>=5.1.2",
+    "PyYAML>=5.1.2,<5.2",  # Compatibility with awscli
     "ruamel.yaml>=0.16.1",
     "funcy>=1.14",
     "pathspec>=0.6.0",
@@ -95,7 +96,7 @@ gs = ["google-cloud-storage==1.19.0"]
 # https://github.com/gsuitedevs/PyDrive/pull/180 into pydrive's master,
 # usage of google-api-python-client can be removed from DVC.
 gdrive = ["pydrive==1.3.1", "google-api-python-client>=1.2"]
-s3 = ["boto3==1.9.115"]
+s3 = ["boto3>=1.9.201"]
 azure = ["azure-storage-blob==2.1.0"]
 oss = ["oss2==2.6.1"]
 ssh = ["paramiko>=2.5.0"]
@@ -125,7 +126,7 @@ tests_requirements = [
     "flaky>=3.5.3",
     "mock>=3.0.0",
     "xmltodict>=0.11.0",
-    "awscli==1.16.266",
+    "awscli>=1.16.297",
     "google-compute-engine==2.8.13",
     "Pygments",  # required by collective.checkdocs,
     "collective.checkdocs",
['setup.py']