aapatre / Automatic-Udemy-Course-Enroller-GET-PAID-UDEMY-COURSES-for-FREE

Do you want to LEARN NEW STUFF for FREE? Don't worry, with the power of web-scraping and automation, this script will find the necessary Udemy coupons & enroll you for PAID UDEMY COURSES, ABSOLUTELY FREE!
GNU General Public License v3.0
3.14k stars 545 forks source link

[BUG] Error installing requirements.txt on Win10 & Python 3.8+ #295

Closed 11ange closed 3 years ago

11ange commented 3 years ago

Describe the bug Can't install requirements.txt (pip install -r requirements.txt) or udemy-enroller (pip install udemy-enroller) with python 3.8+ on Win10. With Python 3.7 I can install brotlipy.

Can't you move to brotli instead brotlipy?

This is the error message:

PS C:\Users\luisl\Downloads\Udemy-Enroller> py -3.8 -m pip install udemy-enroller Collecting udemy-enroller Using cached udemy_enroller-3.1.0-py3-none-any.whl (37 kB) Collecting ruamel.yaml Using cached ruamel.yaml-0.17.7-py3-none-any.whl (108 kB) Collecting aiohttp[speedups] Using cached aiohttp-3.7.4.post0-cp38-cp38-win_amd64.whl (635 kB) Collecting beautifulsoup4 Using cached beautifulsoup4-4.9.3-py3-none-any.whl (115 kB) Requirement already satisfied: requests in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from udemy-enroller) (2.25.1) Collecting cloudscraper Using cached cloudscraper-1.2.58-py2.py3-none-any.whl (96 kB) Requirement already satisfied: typing-extensions>=3.6.5 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiohttp[speedups]->udemy-enroller) (3.10.0.0) Requirement already satisfied: yarl<2.0,>=1.0 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiohttp[speedups]->udemy-enroller) (1.6.3) Requirement already satisfied: attrs>=17.3.0 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiohttp[speedups]->udemy-enroller) (21.2.0) Requirement already satisfied: async-timeout<4.0,>=3.0 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiohttp[speedups]->udemy-enroller) (3.0.1) Requirement already satisfied: multidict<7.0,>=4.5 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiohttp[speedups]->udemy-enroller) (5.1.0) Requirement already satisfied: chardet<5.0,>=2.0 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiohttp[speedups]->udemy-enroller) (4.0.0) Collecting brotlipy Using cached brotlipy-0.7.0.tar.gz (413 kB) Requirement already satisfied: cchardet in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiohttp[speedups]->udemy-enroller) (2.1.7) Collecting aiodns Using cached aiodns-3.0.0-py3-none-any.whl (5.0 kB) Requirement already satisfied: idna>=2.0 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from yarl<2.0,>=1.0->aiohttp[speedups]->udemy-enroller) (2.10) Requirement already satisfied: pycares>=4.0.0 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from aiodns->aiohttp[speedups]->udemy-enroller) (4.0.0) Requirement already satisfied: cffi>=1.5.0 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from pycares>=4.0.0->aiodns->aiohttp[speedups]->udemy-enroller) (1.14.5) Requirement already satisfied: pycparser in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from cffi>=1.5.0->pycares>=4.0.0->aiodns->aiohttp[speedups]->udemy-enroller) (2.20) Requirement already satisfied: soupsieve>1.2 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from beautifulsoup4->udemy-enroller) (2.2.1) Requirement already satisfied: requests-toolbelt>=0.9.1 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from cloudscraper->udemy-enroller) (0.9.1) Requirement already satisfied: pyparsing>=2.4.7 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from cloudscraper->udemy-enroller) (2.4.7) Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from requests->udemy-enroller) (1.26.5) Requirement already satisfied: certifi>=2017.4.17 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from requests->udemy-enroller) (2021.5.30) Requirement already satisfied: ruamel.yaml.clib>=0.1.2 in c:\users\luisl\appdata\local\programs\python\python38\lib\site-packages (from ruamel.yaml->udemy-enroller) (0.2.2) Using legacy 'setup.py install' for brotlipy, since package 'wheel' is not installed. Installing collected packages: brotlipy, aiohttp, aiodns, ruamel.yaml, cloudscraper, beautifulsoup4, udemy-enroller Running setup.py install for brotlipy ... error ERROR: Command errored out with exit status 1: command: 'C:\Users\luisl\AppData\Local\Programs\Python\Python38\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\luisl\AppData\Local\Temp\pip-install-irvez0yn\brotlipy_a53e286eaeda43468fd58dfe8a5c119b\setup.py'"'"'; file='"'"'C:\Users\luisl\AppData\Local\Temp\pip-install-irvez0yn\brotlipy_a53e286eaeda43468fd58dfe8a5c119b\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\luisl\AppData\Local\Temp\pip-record-6oa7iik1\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\luisl\AppData\Local\Programs\Python\Python38\Include\brotlipy' cwd: C:\Users\luisl\AppData\Local\Temp\pip-install-irvez0yn\brotlipy_a53e286eaeda43468fd58dfe8a5c119b\ Complete output (20 lines): running install running build running build_py creating build creating build\lib.win-amd64-3.8 creating build\lib.win-amd64-3.8\brotli copying src\brotli\brotli.py -> build\lib.win-amd64-3.8\brotli copying src\brotli\build.py -> build\lib.win-amd64-3.8\brotli copying src\brotli__init__.py -> build\lib.win-amd64-3.8\brotli running build_clib building 'libbrotli' library creating build\temp.win-amd64-3.8 creating build\temp.win-amd64-3.8\libbrotli creating build\temp.win-amd64-3.8\libbrotli\common creating build\temp.win-amd64-3.8\libbrotli\dec creating build\temp.win-amd64-3.8\libbrotli\enc C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ilibbrotli/include -Ilibbrotli/ -Isrc/brotli "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" /Tclibbrotli/common/dictionary.c /Fobuild\temp.win-amd64-3.8\libbrotli/common/dictionary.obj dictionary.c libbrotli/include\brotli/types.h(15): fatal error C1083: NÆo ‚ poss¡vel abrir arquivo incluir: 'stddef.h': No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe' failed with exit status 2

ERROR: Command errored out with exit status 1: 'C:\Users\luisl\AppData\Local\Programs\Python\Python38\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\luisl\AppData\Local\Temp\pip-install-irvez0yn\brotlipy_a53e286eaeda43468fd58dfe8a5c119b\setup.py'"'"'; file='"'"'C:\Users\luisl\AppData\Local\Temp\pip-install-irvez0yn\brotlipy_a53e286eaeda43468fd58dfe8a5c119b\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\luisl\AppData\Local\Temp\pip-record-6oa7iik1\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\luisl\AppData\Local\Programs\Python\Python38\Include\brotlipy' Check the logs for full command output.

fakeid30 commented 3 years ago

Screenshot_1

@11ange install VS build tool like this