title: (Python: discord.py) ERROR: Could not build wheels for multidict, yarl which use PEP 517 and cannot be installed directly
body: <p>trying to download discord.py using pip install, gave me the error message in the title.
  I installed using cmd and the commands py -m pip install -U discord, the cmd was also run in admin.
  tried using pip, pip3, and pip3.9, all of which didnt work.</p>
  <p>I tried uninstalling/reinstalling/upgrading (in that order) the said libraries:</p>
  <ul>
  <li>pip</li>
  <li>yarl</li>
  <li>multidict</li>
  <li>wheel</li>
  <li>setuptools</li>
  </ul>
  <p>versions of python that I tried (in all versions are downloaded with default settings with nothing changed):
  python-3.9.0-amd64.exe
  python-3.9.0.exe</p>
  <p>I tried researching about wheels and tried installing with --no-binary :all: as well, but it gave the same error message below.</p>
  <p>in all the iterations of what I have tried, it churned out the exact same error message without any deviation</p>
  <p>ples help :&lt;</p>
  <pre><code>  Using cached discord-1.0.1-py3-none-any.whl (1.1 kB)
  Collecting discord.py&gt;=1.0.1
    Using cached discord.py-1.5.1-py3-none-any.whl (701 kB)
  Processing c:\users\mt\appdata\local\pip\cache\wheels\b6\9c\bd\6b99bc6ec9dab11f3756d31fb8506d3ecf07aea58b6201f539\aiohttp-3.6.3-py3-none-any.whl
  Collecting attrs&gt;=17.3.0
    Using cached attrs-20.2.0-py2.py3-none-any.whl (48 kB)
  Collecting chardet&lt;4.0,&gt;=2.0
    Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
  Collecting async-timeout&lt;4.0,&gt;=3.0
    Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
  Collecting yarl&lt;1.6.0,&gt;=1.0
    Using cached yarl-1.5.1.tar.gz (173 kB)
    Installing build dependencies ... done
    Getting requirements to build wheel ... done
      Preparing wheel metadata ... done
  Collecting multidict&lt;5.0,&gt;=4.5
    Using cached multidict-4.7.6.tar.gz (50 kB)
    Installing build dependencies ... done
    Getting requirements to build wheel ... done
      Preparing wheel metadata ... done
  Collecting idna&gt;=2.0
    Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
  Building wheels for collected packages: yarl, multidict
    Building wheel for yarl (PEP 517) ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\mt\appdata\local\programs\python\python39\python.exe' 'c:\users\mt\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\MT\AppData\Local\Temp\tmptlhkh7zi'
         cwd: C:\Users\MT\AppData\Local\Temp\pip-install-nztu4nu2\yarl
    Complete output (35 lines):
    **********************
    * Accellerated build *
    **********************
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\yarl
    copying yarl\_quoting.py -&gt; build\lib.win-amd64-3.9\yarl
    copying yarl\_quoting_py.py -&gt; build\lib.win-amd64-3.9\yarl
    copying yarl\_url.py -&gt; build\lib.win-amd64-3.9\yarl
    copying yarl\__init__.py -&gt; build\lib.win-amd64-3.9\yarl
    running egg_info
    writing yarl.egg-info\PKG-INFO
    writing dependency_links to yarl.egg-info\dependency_links.txt
    writing requirements to yarl.egg-info\requires.txt
    writing top-level names to yarl.egg-info\top_level.txt
    reading manifest file 'yarl.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.cache' found anywhere in distribution
    warning: no previously-included files found matching 'yarl\*.html'
    warning: no previously-included files found matching 'yarl\*.so'
    warning: no previously-included files found matching 'yarl\*.pyd'
    no previously-included directories found matching 'docs\_build'
    writing manifest file 'yarl.egg-info\SOURCES.txt'
    copying yarl\__init__.pyi -&gt; build\lib.win-amd64-3.9\yarl
    copying yarl\_quoting_c.c -&gt; build\lib.win-amd64-3.9\yarl
    copying yarl\_quoting_c.pyi -&gt; build\lib.win-amd64-3.9\yarl
    copying yarl\_quoting_c.pyx -&gt; build\lib.win-amd64-3.9\yarl
    copying yarl\py.typed -&gt; build\lib.win-amd64-3.9\yarl
    running build_ext
    building 'yarl._quoting_c' extension
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with &quot;Microsoft C++ Build Tools&quot;: https://visualstudio.microsoft.com/visual-cpp-build-tools/
    ----------------------------------------
    ERROR: Failed building wheel for yarl
    Building wheel for multidict (PEP 517) ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\mt\appdata\local\programs\python\python39\python.exe' 'c:\users\mt\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\MT\AppData\Local\Temp\tmpzb98brnr'
         cwd: C:\Users\MT\AppData\Local\Temp\pip-install-nztu4nu2\multidict
    Complete output (40 lines):
    **********************
    * Accellerated build *
    **********************
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\multidict
    copying multidict\_abc.py -&gt; build\lib.win-amd64-3.9\multidict
    copying multidict\_compat.py -&gt; build\lib.win-amd64-3.9\multidict
    copying multidict\_multidict_base.py -&gt; build\lib.win-amd64-3.9\multidict
    copying multidict\_multidict_py.py -&gt; build\lib.win-amd64-3.9\multidict
    copying multidict\__init__.py -&gt; build\lib.win-amd64-3.9\multidict
    running egg_info
    writing multidict.egg-info\PKG-INFO
    writing dependency_links to multidict.egg-info\dependency_links.txt
    writing top-level names to multidict.egg-info\top_level.txt
    reading manifest file 'multidict.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files found matching 'multidict\_multidict.html'
    warning: no previously-included files found matching 'multidict\*.so'
    warning: no previously-included files found matching 'multidict\*.pyd'
    warning: no previously-included files found matching 'multidict\*.pyd'
    no previously-included directories found matching 'docs\_build'
    writing manifest file 'multidict.egg-info\SOURCES.txt'
    copying multidict\__init__.pyi -&gt; build\lib.win-amd64-3.9\multidict
    copying multidict\_multidict.c -&gt; build\lib.win-amd64-3.9\multidict
    copying multidict\py.typed -&gt; build\lib.win-amd64-3.9\multidict
    creating build\lib.win-amd64-3.9\multidict\_multilib
    copying multidict\_multilib\defs.h -&gt; build\lib.win-amd64-3.9\multidict\_multilib
    copying multidict\_multilib\dict.h -&gt; build\lib.win-amd64-3.9\multidict\_multilib
    copying multidict\_multilib\istr.h -&gt; build\lib.win-amd64-3.9\multidict\_multilib
    copying multidict\_multilib\iter.h -&gt; build\lib.win-amd64-3.9\multidict\_multilib
    copying multidict\_multilib\pair_list.h -&gt; build\lib.win-amd64-3.9\multidict\_multilib
    copying multidict\_multilib\views.h -&gt; build\lib.win-amd64-3.9\multidict\_multilib
    running build_ext
    building 'multidict._multidict' extension
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with &quot;Microsoft C++ Build Tools&quot;: https://visualstudio.microsoft.com/visual-cpp-build-tools/
    ----------------------------------------
    ERROR: Failed building wheel for multidict
  Failed to build yarl multidict
  ERROR: Could not build wheels for yarl, multidict which use PEP 517 and cannot be installed directly```
  </code></pre>