Installation issues on aarch64 machines

Current Behavior

When trying to install ade-cli on an aarch64 based machine, pip fails with the error:

sudo pip3 install -U ade-cli
Collecting ade-cli
  Downloading https://files.pythonhosted.org/packages/f9/50/9723fbdce97e3fc86f82ce266ce99a3a183e23257db3bb430fe309d74e0f/ade_cli-3.4.1-py3-none-any.whl
Collecting click>=7.0 (from ade-cli)
  Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
    100% |████████████████████████████████| 81kB 4.8MB/s 
Collecting cchardet (from ade-cli)
  Downloading https://files.pythonhosted.org/packages/74/64/3988d388315c1af3e24f447689dadf30edead43366fb2041cb103380b57f/cchardet-2.1.4.tar.gz (648kB)
    100% |████████████████████████████████| 655kB 1.1MB/s 
Collecting aiodns (from ade-cli)
  Downloading https://files.pythonhosted.org/packages/da/01/8f2d49b441573fd2478833bdba91cf0b853b4c750a1fbb9e98de1b94bb22/aiodns-2.0.0-py2.py3-none-any.whl
Collecting aiohttp<3.5.0 (from ade-cli)
  Downloading https://files.pythonhosted.org/packages/70/27/6098b4b60a3302a97f8ec97eb85d42f55a2fa904da4a369235a8e3b84352/aiohttp-3.4.4.tar.gz (822kB)
    100% |████████████████████████████████| 829kB 844kB/s 
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-6kuner5x/aiohttp/setup.py", line 13, in <module>
        raise RuntimeError("aiohttp 3.x requires Python 3.5.3+")
    RuntimeError: aiohttp 3.x requires Python 3.5.3+
 

This error can be resolved by using a newer version of pip (pip3 install -U pip). However, then there is an error due to pycares which comes in as a dependency of aiodns:

Collecting pycares>=3.0.0 (from aiodns->ade-cli)
...
Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-3h77fjpc/pycares/setup.py", line 45, in <module>
        zip_safe         = False
      File "/usr/lib/python3.5/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/dist.py", line 269, in __init__
        self.fetch_build_eggs(attrs['setup_requires'])
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/dist.py", line 313, in fetch_build_eggs
        replace_conflicting=True,
      File "/home/salus/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 826, in resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
      File "/home/salus/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1092, in best_match
        return self.obtain(req, installer)
      File "/home/salus/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1104, in obtain
        return installer(requirement)
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/dist.py", line 380, in fetch_build_egg
        return cmd.easy_install(req)
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 663, in easy_install
        return self.install_item(spec, dist.location, tmpdir, deps)
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 693, in install_item
        dists = self.install_eggs(spec, download, tmpdir)
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 873, in install_eggs
        return self.build_and_install(setup_script, setup_base)
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 1101, in build_and_install
        self.run_setup(setup_script, setup_base, args)
      File "/home/salus/venv/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 1089, in run_setup
        raise DistutilsError("Setup script exited with %s" % (v.args[0],))
    distutils.errors.DistutilsError: Setup script exited with error: command 'aarch64-linux-gnu-gcc' failed with exit status 1

Expected Behavior

ade-cli successfully installs on aarch64 machines

How to reproduce

On an aarch64 system:

python3 -m venv venv
source venv/bin/activate
pip3 install -U ade-cli
# You'll see the first error
pip3 install -U pip
pip3 install -U ade-cli
# You will see the second error

Current workaround

Install with:

pip3 install ade-cli aiohttp==2.3.5 aiodns==1.1.1 pycares==2.2.0