Repository: getmoto/moto

Issue:
Botocore sub-dependency mismatch
Running `pipenv install moto` results in:

```
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches botocore<1.11,<1.12.0,<2.0.0,==1.10.84,>=1.11.3,>=1.3.0,>=1.9.16
Tried: 0.4.1, 0.4.2, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.6.0, 0.7.0, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.9.0, 0.9.1, 0.9.2, 0.10.0, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.15.0, 0.15.1, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0, 0.21.0, 0.22.0, 0.23.0, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0, 0.32.0, 0.33.0, 0.34.0, 0.35.0, 0.36.0, 0.37.0, 0.38.0, 0.39.0, 0.40.0, 0.41.0, 0.42.0, 0.43.0, 0.44.0, 0.45.0, 0.46.0, 0.47.0, 0.48.0, 0.49.0, 0.50.0, 0.51.0, 0.52.0, 0.53.0, 0.54.0, 0.55.0, 0.56.0, 0.57.0, 0.58.0, 0.59.0, 0.60.0, 0.61.0, 0.62.0, 0.63.0, 0.64.0, 0.65.0, 0.66.0, 0.67.0, 0.68.0, 0.69.0, 0.70.0, 0.71.0, 0.72.0, 0.73.0, 0.74.0, 0.75.0, 0.76.0, 0.77.0, 0.78.0, 0.79.0, 0.80.0, 0.81.0, 0.82.0, 0.83.0, 0.84.0, 0.85.0, 0.86.0, 0.87.0, 0.88.0, 0.89.0, 0.90.0, 0.91.0, 0.92.0, 0.93.0, 0.94.0, 0.95.0, 0.96.0, 0.97.0, 0.98.0, 0.99.0, 0.100.0, 0.101.0, 0.102.0, 0.103.0, 0.104.0, 0.105.0, 0.106.0, 0.107.0, 0.108.0, 0.109.0, 1.0.0, 1.0.0, 1.0.1, 1.0.1, 1.1.0, 1.1.0, 1.1.1, 1.1.1, 1.1.2, 1.1.2, 1.1.3, 1.1.3, 1.1.4, 1.1.4, 1.1.5, 1.1.5, 1.1.6, 1.1.6, 1.1.7, 1.1.7, 1.1.8, 1.1.8, 1.1.9, 1.1.9, 1.1.10, 1.1.10, 1.1.11, 1.1.11, 1.1.12, 1.1.12, 1.2.0, 1.2.0, 1.2.1, 1.2.1, 1.2.2, 1.2.2, 1.2.3, 1.2.3, 1.2.4, 1.2.4, 1.2.5, 1.2.5, 1.2.6, 1.2.6, 1.2.7, 1.2.7, 1.2.8, 1.2.8, 1.2.9, 1.2.9, 1.2.10, 1.2.10, 1.2.11, 1.2.11, 1.3.0, 1.3.0, 1.3.1, 1.3.1, 1.3.2, 1.3.2, 1.3.3, 1.3.3, 1.3.4, 1.3.4, 1.3.5, 1.3.5, 1.3.6, 1.3.6, 1.3.7, 1.3.7, 1.3.8, 1.3.8, 1.3.9, 1.3.9, 1.3.10, 1.3.10, 1.3.11, 1.3.11, 1.3.12, 1.3.12, 1.3.13, 1.3.13, 1.3.14, 1.3.14, 1.3.15, 1.3.15, 1.3.16, 1.3.16, 1.3.17, 1.3.17, 1.3.18, 1.3.18, 1.3.19, 1.3.19, 1.3.20, 1.3.20, 1.3.21, 1.3.21, 1.3.22, 1.3.22, 1.3.23, 1.3.23, 1.3.24, 1.3.24, 1.3.25, 1.3.25, 1.3.26, 1.3.26, 1.3.27, 1.3.27, 1.3.28, 1.3.28, 1.3.29, 1.3.29, 1.3.30, 1.3.30, 1.4.0, 1.4.0, 1.4.1, 1.4.1, 1.4.2, 1.4.2, 1.4.3, 1.4.3, 1.4.4, 1.4.4, 1.4.5, 1.4.5, 1.4.6, 1.4.6, 1.4.7, 1.4.7, 1.4.8, 1.4.8, 1.4.9, 1.4.9, 1.4.10, 1.4.10, 1.4.11, 1.4.11, 1.4.12, 1.4.12, 1.4.13, 1.4.13, 1.4.14, 1.4.14, 1.4.15, 1.4.15, 1.4.16, 1.4.16, 1.4.17, 1.4.17, 1.4.18, 1.4.18, 1.4.19, 1.4.19, 1.4.20, 1.4.20, 1.4.21, 1.4.21, 1.4.22, 1.4.22, 1.4.23, 1.4.23, 1.4.24, 1.4.24, 1.4.25, 1.4.25, 1.4.26, 1.4.26, 1.4.27, 1.4.27, 1.4.28, 1.4.28, 1.4.29, 1.4.29, 1.4.30, 1.4.30, 1.4.31, 1.4.31, 1.4.32, 1.4.32, 1.4.33, 1.4.33, 1.4.34, 1.4.34, 1.4.35, 1.4.35, 1.4.36, 1.4.36, 1.4.37, 1.4.37, 1.4.38, 1.4.38, 1.4.39, 1.4.39, 1.4.40, 1.4.40, 1.4.41, 1.4.41, 1.4.42, 1.4.42, 1.4.43, 1.4.43, 1.4.44, 1.4.44, 1.4.46, 1.4.46, 1.4.47, 1.4.47, 1.4.48, 1.4.48, 1.4.49, 1.4.49, 1.4.50, 1.4.50, 1.4.51, 1.4.51, 1.4.52, 1.4.52, 1.4.53, 1.4.53, 1.4.54, 1.4.54, 1.4.55, 1.4.55, 1.4.56, 1.4.56, 1.4.57, 1.4.57, 1.4.58, 1.4.58, 1.4.59, 1.4.59, 1.4.60, 1.4.60, 1.4.61, 1.4.61, 1.4.62, 1.4.62, 1.4.63, 1.4.63, 1.4.64, 1.4.64, 1.4.65, 1.4.65, 1.4.66, 1.4.66, 1.4.67, 1.4.67, 1.4.68, 1.4.68, 1.4.69, 1.4.69, 1.4.70, 1.4.70, 1.4.71, 1.4.71, 1.4.72, 1.4.72, 1.4.73, 1.4.73, 1.4.74, 1.4.74, 1.4.75, 1.4.75, 1.4.76, 1.4.76, 1.4.77, 1.4.77, 1.4.78, 1.4.78, 1.4.79, 1.4.79, 1.4.80, 1.4.80, 1.4.81, 1.4.81, 1.4.82, 1.4.82, 1.4.83, 1.4.83, 1.4.84, 1.4.84, 1.4.85, 1.4.85, 1.4.86, 1.4.86, 1.4.87, 1.4.87, 1.4.88, 1.4.88, 1.4.89, 1.4.89, 1.4.90, 1.4.90, 1.4.91, 1.4.91, 1.4.92, 1.4.92, 1.4.93, 1.4.93, 1.5.0, 1.5.0, 1.5.1, 1.5.1, 1.5.2, 1.5.2, 1.5.3, 1.5.3, 1.5.4, 1.5.4, 1.5.5, 1.5.5, 1.5.6, 1.5.6, 1.5.7, 1.5.7, 1.5.8, 1.5.8, 1.5.9, 1.5.9, 1.5.10, 1.5.10, 1.5.11, 1.5.11, 1.5.12, 1.5.12, 1.5.13, 1.5.13, 1.5.14, 1.5.14, 1.5.15, 1.5.15, 1.5.16, 1.5.16, 1.5.17, 1.5.17, 1.5.18, 1.5.18, 1.5.19, 1.5.19, 1.5.20, 1.5.20, 1.5.21, 1.5.21, 1.5.22, 1.5.22, 1.5.23, 1.5.23, 1.5.24, 1.5.24, 1.5.25, 1.5.25, 1.5.26, 1.5.26, 1.5.27, 1.5.27, 1.5.28, 1.5.28, 1.5.29, 1.5.29, 1.5.30, 1.5.30, 1.5.31, 1.5.31, 1.5.32, 1.5.32, 1.5.33, 1.5.33, 1.5.34, 1.5.34, 1.5.35, 1.5.35, 1.5.36, 1.5.36, 1.5.37, 1.5.37, 1.5.38, 1.5.38, 1.5.39, 1.5.39, 1.5.40, 1.5.40, 1.5.41, 1.5.41, 1.5.42, 1.5.42, 1.5.43, 1.5.43, 1.5.44, 1.5.44, 1.5.45, 1.5.45, 1.5.46, 1.5.46, 1.5.47, 1.5.47, 1.5.48, 1.5.48, 1.5.49, 1.5.49, 1.5.50, 1.5.50, 1.5.51, 1.5.51, 1.5.52, 1.5.52, 1.5.53, 1.5.53, 1.5.54, 1.5.54, 1.5.55, 1.5.55, 1.5.56, 1.5.56, 1.5.57, 1.5.57, 1.5.58, 1.5.58, 1.5.59, 1.5.59, 1.5.60, 1.5.60, 1.5.61, 1.5.61, 1.5.62, 1.5.62, 1.5.63, 1.5.63, 1.5.64, 1.5.64, 1.5.65, 1.5.65, 1.5.66, 1.5.66, 1.5.67, 1.5.67, 1.5.68, 1.5.68, 1.5.69, 1.5.69, 1.5.70, 1.5.70, 1.5.71, 1.5.71, 1.5.72, 1.5.72, 1.5.73, 1.5.73, 1.5.74, 1.5.74, 1.5.75, 1.5.75, 1.5.76, 1.5.76, 1.5.77, 1.5.77, 1.5.78, 1.5.78, 1.5.79, 1.5.79, 1.5.80, 1.5.80, 1.5.81, 1.5.81, 1.5.82, 1.5.82, 1.5.83, 1.5.83, 1.5.84, 1.5.84, 1.5.85, 1.5.85, 1.5.86, 1.5.86, 1.5.87, 1.5.87, 1.5.88, 1.5.88, 1.5.89, 1.5.89, 1.5.90, 1.5.90, 1.5.91, 1.5.91, 1.5.92, 1.5.92, 1.5.93, 1.5.93, 1.5.94, 1.5.94, 1.5.95, 1.5.95, 1.6.0, 1.6.0, 1.6.1, 1.6.1, 1.6.2, 1.6.2, 1.6.3, 1.6.3, 1.6.4, 1.6.4, 1.6.5, 1.6.5, 1.6.6, 1.6.6, 1.6.7, 1.6.7, 1.6.8, 1.6.8, 1.7.0, 1.7.0, 1.7.1, 1.7.1, 1.7.2, 1.7.2, 1.7.3, 1.7.3, 1.7.4, 1.7.4, 1.7.5, 1.7.5, 1.7.6, 1.7.6, 1.7.7, 1.7.7, 1.7.8, 1.7.8, 1.7.9, 1.7.9, 1.7.10, 1.7.10, 1.7.11, 1.7.11, 1.7.12, 1.7.12, 1.7.13, 1.7.13, 1.7.14, 1.7.14, 1.7.15, 1.7.15, 1.7.16, 1.7.16, 1.7.17, 1.7.17, 1.7.18, 1.7.18, 1.7.19, 1.7.19, 1.7.20, 1.7.20, 1.7.21, 1.7.21, 1.7.22, 1.7.22, 1.7.23, 1.7.23, 1.7.24, 1.7.24, 1.7.25, 1.7.25, 1.7.26, 1.7.26, 1.7.27, 1.7.27, 1.7.28, 1.7.28, 1.7.29, 1.7.29, 1.7.30, 1.7.30, 1.7.31, 1.7.31, 1.7.32, 1.7.32, 1.7.33, 1.7.33, 1.7.34, 1.7.34, 1.7.35, 1.7.35, 1.7.36, 1.7.36, 1.7.37, 1.7.37, 1.7.38, 1.7.38, 1.7.39, 1.7.39, 1.7.40, 1.7.40, 1.7.41, 1.7.41, 1.7.42, 1.7.42, 1.7.43, 1.7.43, 1.7.44, 1.7.44, 1.7.45, 1.7.45, 1.7.46, 1.7.46, 1.7.47, 1.7.47, 1.7.48, 1.7.48, 1.8.0, 1.8.0, 1.8.1, 1.8.1, 1.8.2, 1.8.2, 1.8.3, 1.8.3, 1.8.4, 1.8.4, 1.8.5, 1.8.5, 1.8.6, 1.8.6, 1.8.7, 1.8.7, 1.8.8, 1.8.8, 1.8.9, 1.8.9, 1.8.10, 1.8.10, 1.8.11, 1.8.11, 1.8.12, 1.8.12, 1.8.13, 1.8.13, 1.8.14, 1.8.14, 1.8.15, 1.8.15, 1.8.16, 1.8.16, 1.8.17, 1.8.17, 1.8.18, 1.8.18, 1.8.19, 1.8.19, 1.8.20, 1.8.20, 1.8.21, 1.8.21, 1.8.22, 1.8.22, 1.8.23, 1.8.23, 1.8.24, 1.8.24, 1.8.25, 1.8.25, 1.8.26, 1.8.26, 1.8.27, 1.8.27, 1.8.28, 1.8.28, 1.8.29, 1.8.29, 1.8.30, 1.8.30, 1.8.31, 1.8.31, 1.8.32, 1.8.32, 1.8.33, 1.8.33, 1.8.34, 1.8.34, 1.8.35, 1.8.35, 1.8.36, 1.8.36, 1.8.37, 1.8.37, 1.8.38, 1.8.38, 1.8.39, 1.8.39, 1.8.40, 1.8.40, 1.8.41, 1.8.41, 1.8.42, 1.8.42, 1.8.43, 1.8.43, 1.8.44, 1.8.44, 1.8.45, 1.8.45, 1.8.46, 1.8.46, 1.8.47, 1.8.47, 1.8.48, 1.8.48, 1.8.49, 1.8.49, 1.8.50, 1.8.50, 1.9.0, 1.9.0, 1.9.1, 1.9.1, 1.9.2, 1.9.2, 1.9.3, 1.9.3, 1.9.4, 1.9.4, 1.9.5, 1.9.5, 1.9.6, 1.9.6, 1.9.7, 1.9.7, 1.9.8, 1.9.8, 1.9.9, 1.9.9, 1.9.10, 1.9.10, 1.9.11, 1.9.11, 1.9.12, 1.9.12, 1.9.13, 1.9.13, 1.9.14, 1.9.14, 1.9.15, 1.9.15, 1.9.16, 1.9.16, 1.9.17, 1.9.17, 1.9.18, 1.9.18, 1.9.19, 1.9.19, 1.9.20, 1.9.20, 1.9.21, 1.9.21, 1.9.22, 1.9.22, 1.9.23, 1.9.23, 1.10.0, 1.10.0, 1.10.1, 1.10.1, 1.10.2, 1.10.2, 1.10.3, 1.10.3, 1.10.4, 1.10.4, 1.10.5, 1.10.5, 1.10.6, 1.10.6, 1.10.7, 1.10.7, 1.10.8, 1.10.8, 1.10.9, 1.10.9, 1.10.10, 1.10.10, 1.10.11, 1.10.11, 1.10.12, 1.10.12, 1.10.13, 1.10.13, 1.10.14, 1.10.14, 1.10.15, 1.10.15, 1.10.16, 1.10.16, 1.10.17, 1.10.17, 1.10.18, 1.10.18, 1.10.19, 1.10.19, 1.10.20, 1.10.20, 1.10.21, 1.10.21, 1.10.22, 1.10.22, 1.10.23, 1.10.23, 1.10.24, 1.10.24, 1.10.25, 1.10.25, 1.10.26, 1.10.26, 1.10.27, 1.10.27, 1.10.28, 1.10.28, 1.10.29, 1.10.29, 1.10.30, 1.10.30, 1.10.31, 1.10.31, 1.10.32, 1.10.32, 1.10.33, 1.10.33, 1.10.34, 1.10.34, 1.10.35, 1.10.35, 1.10.36, 1.10.36, 1.10.37, 1.10.37, 1.10.38, 1.10.38, 1.10.39, 1.10.39, 1.10.40, 1.10.40, 1.10.41, 1.10.41, 1.10.42, 1.10.42, 1.10.43, 1.10.43, 1.10.44, 1.10.44, 1.10.45, 1.10.45, 1.10.46, 1.10.46, 1.10.47, 1.10.47, 1.10.48, 1.10.48, 1.10.49, 1.10.49, 1.10.50, 1.10.50, 1.10.51, 1.10.51, 1.10.52, 1.10.52, 1.10.53, 1.10.53, 1.10.54, 1.10.54, 1.10.55, 1.10.55, 1.10.56, 1.10.56, 1.10.57, 1.10.57, 1.10.58, 1.10.58, 1.10.59, 1.10.59, 1.10.60, 1.10.60, 1.10.61, 1.10.61, 1.10.62, 1.10.62, 1.10.63, 1.10.63, 1.10.64, 1.10.64, 1.10.65, 1.10.65, 1.10.66, 1.10.66, 1.10.67, 1.10.67, 1.10.68, 1.10.68, 1.10.69, 1.10.69, 1.10.70, 1.10.70, 1.10.71, 1.10.71, 1.10.72, 1.10.72, 1.10.73, 1.10.73, 1.10.74, 1.10.74, 1.10.75, 1.10.75, 1.10.76, 1.10.76, 1.10.77, 1.10.77, 1.10.78, 1.10.78, 1.10.79, 1.10.79, 1.10.80, 1.10.80, 1.10.81, 1.10.81, 1.10.82, 1.10.82, 1.10.83, 1.10.83, 1.10.84, 1.10.84, 1.11.0, 1.11.0, 1.11.1, 1.11.1, 1.11.2, 1.11.2, 1.11.3, 1.11.3
There are incompatible versions in the resolved dependencies.
```
This is due to the fact that [this line in moto](https://github.com/spulec/moto/blob/master/setup.py#L12) requires less than version 1.11 of botocore, and [this line in boto3](https://github.com/boto/boto3/blob/develop/setup.py#L17) requires greater than or equal to 1.11.3. This is installing moto 1.3.5, the expectation is no warning for mismatches in dependencies.




Discussion:
Also, when running: 

```
virtualenv venv
source venv/bin/activate
make init
``` 
The result is:
```
error: botocore 1.10.84 is installed but botocore<1.12.0,>=1.11.3 is required by set(['boto3'])
```

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@
 install_requires = [
     "Jinja2>=2.7.3",
     "boto>=2.36.0",
-    "boto3>=1.6.16",
+    "boto3>=1.6.16,<1.8",
     "botocore>=1.9.16,<1.11",
     "cookies",
     "cryptography>=2.0.0",


Test patch: