aws-cli tries to import 'fabric.api', which is unavailable in fabric starting in version 2. aws-cli does not have this constraint, so let's add it.
bkero@localhost:~$ virtualenv t
New python executable in /home/bkero/t/bin/python2
Also creating executable in /home/bkero/t/bin/python
Installing setuptools, pip, wheel...done.
bkero@localhost:~$ source t/bin/activate
(t) bkero@localhost:~$ geth
bash: geth: command not found
(t) bkero@localhost:~$ pip install aws
Collecting aws
Collecting fabric>=1.6 (from aws)
Using cached https://files.pythonhosted.org/packages/f5/6c/311cccad87dceebb01f9fe21e0550a58c6d0dd1500d8728f787fadca36f3/fabric-2.2.1-py2.py3-none-any.whl
Collecting prettytable>=0.7 (from aws)
Collecting boto (from aws)
Using cached https://files.pythonhosted.org/packages/23/10/c0b78c27298029e4454a472a1919bde20cb182dab1662cec7f2ca1dcc523/boto-2.49.0-py2.py3-none-any.whl
Collecting paramiko>=2.4 (from fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/3e/db/cb7b6656e0e7387637ce850689084dc0b94b44df31cc52e5fc5c2c4fd2c1/paramiko-2.4.1-py2.py3-none-any.whl
Collecting invoke<2.0,>=1.1 (from fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/79/9e/6e54f429bad815e009cf175c6038561ae257ae0ea82c67804b0501cdaf83/invoke-1.1.0-py2-none-any.whl
Collecting cryptography>=1.1 (from fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/67/21/e79987f1f9abae42d666b1f89b4e78aa096acc00bbf97ad40d19b07b4a83/cryptography-2.3-cp27-cp27mu-manylinux1_x86_64.whl
Collecting pynacl>=1.0.1 (from paramiko>=2.4->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/80/3d/d709b9fbd69e21dd3a4d34eb690c5484094699e03b7447bc7eb173cfd7b6/PyNaCl-1.2.1-cp27-cp27mu-manylinux1_x86_64.whl
Collecting pyasn1>=0.1.7 (from paramiko>=2.4->fabric>=1.6->aws)
Downloading https://files.pythonhosted.org/packages/d1/a1/7790cc85db38daa874f6a2e6308131b9953feb1367f2ae2d1123bb93a9f5/pyasn1-0.4.4-py2.py3-none-any.whl (72kB)
100% |████████████████████████████████| 81kB 3.4MB/s
Collecting bcrypt>=3.1.3 (from paramiko>=2.4->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/2e/5a/2abeae20ce294fe6bf63da0e0b5a885c788e1360bbd124edcc0429678a59/bcrypt-3.1.4-cp27-cp27mu-manylinux1_x86_64.whl
Collecting idna>=2.1 (from cryptography>=1.1->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting enum34; python_version < "3" (from cryptography>=1.1->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/c5/db/e56e6b4bbac7c4a06de1c50de6fe1ef3810018ae11732a50f15f62c7d050/enum34-1.1.6-py2-none-any.whl
Collecting six>=1.4.1 (from cryptography>=1.1->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting cffi!=1.11.3,>=1.7 (from cryptography>=1.1->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/14/dd/3e7a1e1280e7d767bd3fa15791759c91ec19058ebe31217fe66f3e9a8c49/cffi-1.11.5-cp27-cp27mu-manylinux1_x86_64.whl
Collecting asn1crypto>=0.21.0 (from cryptography>=1.1->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl
Collecting ipaddress; python_version < "3" (from cryptography>=1.1->fabric>=1.6->aws)
Using cached https://files.pythonhosted.org/packages/fc/d0/7fc3a811e011d4b388be48a0e381db8d990042df54aa4ef4599a31d39853/ipaddress-1.0.22-py2.py3-none-any.whl
Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography>=1.1->fabric>=1.6->aws)
Installing collected packages: idna, enum34, six, pycparser, cffi, asn1crypto, ipaddress, cryptography, pynacl, pyasn1, bcrypt, paramiko, invoke, fabric, prettytable, boto, aws
Successfully installed asn1crypto-0.24.0 aws-0.2.5 bcrypt-3.1.4 boto-2.49.0 cffi-1.11.5 cryptography-2.3 enum34-1.1.6 fabric-2.2.1 idna-2.7 invoke-1.1.0 ipaddress-1.0.22 paramiko-2.4.1 prettytable-0.7.2 pyasn1-0.4.4 pycparser-2.18 pynacl-1.2.1 six-1.11.0
(t) bkero@localhost:~$ aws
Traceback (most recent call last):
File "/home/bkero/t/bin/aws", line 7, in <module>
from aws.main import main
File "/home/bkero/t/lib/python2.7/site-packages/aws/main.py", line 7, in <module>
from fabric import api as fab
ImportError: cannot import name api
aws-cli tries to import 'fabric.api', which is unavailable in fabric starting in version 2. aws-cli does not have this constraint, so let's add it.