Вопрос: Как исправить ошибку установки пакета eel (Python)?

Лучший ответ: Ставьте python 3.8 а еще лучше 3.7
3.9 только из беты вышел недавно - слишком новый

Худший ответ: Проверил установку в чистый virtual environment:

См. протокол установки...
Microsoft Windows [Version 10.0.16299.2107]
(c) 2017 Microsoft Corporation. All rights reserved.

(.venv390) D:\Documents\PycharmProjects\tst39>pip install eel
Collecting eel
  Downloading Eel-0.14.0.tar.gz (17 kB)
Collecting bottle
  Downloading bottle-0.12.18-py3-none-any.whl (89 kB)
     |████████████████████████████████| 89 kB 654 kB/s
Collecting bottle-websocket
  Downloading bottle-websocket-0.2.9.tar.gz (2.0 kB)
Collecting future
  Downloading future-0.18.2.tar.gz (829 kB)
     |████████████████████████████████| 829 kB 1.1 MB/s
Collecting pyparsing
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Collecting whichcraft
  Downloading whichcraft-0.6.1-py2.py3-none-any.whl (5.2 kB)
Collecting gevent-websocket
  Downloading gevent_websocket-0.10.1-py3-none-any.whl (22 kB)
Collecting gevent
  Downloading gevent-20.9.0.tar.gz (5.8 MB)
     |████████████████████████████████| 5.8 MB 819 kB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: setuptools in d:\documents\pycharmprojects\tst39\.venv390\lib\site-packages (from gevent->gevent-websocket->bottle-websocket->eel) (50.3.0)
Collecting zope.event
  Downloading zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB)
Processing c:\users\ushakovay\appdata\local\pip\cache\wheels\9d\57\c1\e801430741639b9be449a6643c8be3210d68f066446504cb5f\greenlet-0.4.17-cp39-cp39-win_amd64.whl
Collecting zope.interface
  Downloading zope.interface-5.1.2.tar.gz (228 kB)
     |████████████████████████████████| 228 kB 1.1 MB/s
Collecting cffi>=1.12.2; platform_python_implementation == "CPython" and sys_platform == "win32"
  Using cached cffi-1.14.3-cp39-cp39-win_amd64.whl (179 kB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Building wheels for collected packages: eel, bottle-websocket, future, gevent, zope.interface
  Building wheel for eel (setup.py) ... done
  Created wheel for eel: filename=Eel-0.14.0-py3-none-any.whl size=17466 sha256=4138700b941ca6c1c90d2c0017d5f6515ccfb2e42139adb5b9a70d5c7e8b3823
  Stored in directory: c:\users\ushakovay\appdata\local\pip\cache\wheels\f1\c2\5c\5f6bc6e4a71a5ea3c3d9b46f832e1ca0a2a66d229c4efb13c9
  Building wheel for bottle-websocket (setup.py) ... done
  Created wheel for bottle-websocket: filename=bottle_websocket-0.2.9-py3-none-any.whl size=2353 sha256=aef67a2df8581f132c1cbc63771a8da1c73812f6c406e20ae1f4230b3781ebc9
  Stored in directory: c:\users\ushakovay\appdata\local\pip\cache\wheels\3f\03\89\b62449b34a0c944daa3c7ae993e2d9a97096b22a2c9d4bd49b
  Building wheel for future (setup.py) ... done
  Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491062 sha256=55bee94514979181f6a5512d6ffc973cbbc7896efbff5d1693ffe6b7ddddc3eb
  Stored in directory: c:\users\ushakovay\appdata\local\pip\cache\wheels\2f\a0\d3\4030d9f80e6b3be787f19fc911b8e7aa462986a40ab1e4bb94
  Building wheel for gevent (PEP 517) ... done
  Created wheel for gevent: filename=gevent-20.9.0-cp39-cp39-win_amd64.whl size=1524182 sha256=3b0ccdb92c72d0bda1d34dacd23e101f3f2486677e97c7a0b1cb9368c124e1f7
  Stored in directory: c:\users\ushakovay\appdata\local\pip\cache\wheels\1f\44\09\99f12f4be61863aaacf1bd866310ee44d2d884e22565b211a0
  Building wheel for zope.interface (setup.py) ... done
  Created wheel for zope.interface: filename=zope.interface-5.1.2-cp39-cp39-win_amd64.whl size=195684 sha256=109fe4bb38647db6abbcf8a064ba85b719200e84a945870ab9c3fa9715d04463
  Stored in directory: c:\users\ushakovay\appdata\local\pip\cache\wheels\9e\2c\c3\6410c8350e1f3683cd8e1eb85b0c1b906061eea437477c89cf
Successfully built eel bottle-websocket future gevent zope.interface
Installing collected packages: bottle, zope.event, greenlet, zope.interface, pycparser, cffi, gevent, gevent-websocket, bottle-websocket, future, pyparsing, whichcraft, eel
Successfully installed bottle-0.12.18 bottle-websocket-0.2.9 cffi-1.14.3 eel-0.14.0 future-0.18.2 gevent-20.9.0 gevent-websocket-0.10.1 greenlet-0.4.17 pycparser-2.20 pyparsing-2.4.7 whichcraft-0.6.1 zope.event-4.5.0 zope.interface-5.1.2

(.venv390) D:\Documents\PycharmProjects\tst39>

Никаких проблем...  Единственно, что у меня стоит Visual Studio Build Tools 2019 16.2.29215.179 (год назад ставил).

P.S. Вдогонку, у меня отсутствующий у вас файл basetsd.h  находится в катологе C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared.