Skip to content

python 3.10: missing lxml wheel on Windows and macOS (streamlink install fails) #4100

@ShiroUwUs7

Description

@ShiroUwUs7

Checklist

Streamlink version

Latest build from the master branch

Description

pip install streamlink
and
pip3 install --upgrade streamlink

Debug log

E:\Software\Fresh Install\Software>pip --version
pip 21.3 from C:\Python310\lib\site-packages\pip (python 3.10)

E:\Software\Fresh Install\Software>pip3 install --upgrade streamlink
Requirement already satisfied: streamlink in c:\python310\lib\site-packages (1.4.0)
Collecting streamlink
  Using cached streamlink-2.4.0-py3-none-win_amd64.whl (360 kB)
Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in c:\python310\lib\site-packages (from streamlink) (1.7.1)
Requirement already satisfied: iso3166 in c:\python310\lib\site-packages (from streamlink) (2.0.2)
Requirement already satisfied: isodate in c:\python310\lib\site-packages (from streamlink) (0.6.0)
Requirement already satisfied: pycryptodome<4,>=3.4.3 in c:\python310\lib\site-packages (from streamlink) (3.11.0)
Requirement already satisfied: iso-639 in c:\python310\lib\site-packages (from streamlink) (0.4.5)
Requirement already satisfied: requests<3.0,>=2.26.0 in c:\python310\lib\site-packages (from streamlink) (2.26.0)
Collecting lxml>=4.6.3
  Using cached lxml-4.6.3.tar.gz (3.2 MB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: websocket-client>=0.58.0 in c:\python310\lib\site-packages (from streamlink) (1.2.1)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\python310\lib\site-packages (from requests<3.0,>=2.26.0->streamlink) (1.26.7)
Requirement already satisfied: charset-normalizer~=2.0.0 in c:\python310\lib\site-packages (from requests<3.0,>=2.26.0->streamlink) (2.0.7)
Requirement already satisfied: idna<4,>=2.5 in c:\python310\lib\site-packages (from requests<3.0,>=2.26.0->streamlink) (3.3)
Requirement already satisfied: certifi>=2017.4.17 in c:\python310\lib\site-packages (from requests<3.0,>=2.26.0->streamlink) (2021.10.8)
Requirement already satisfied: six in c:\python310\lib\site-packages (from isodate->streamlink) (1.16.0)
Building wheels for collected packages: lxml
  Building wheel for lxml (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\Python310\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\PC\\AppData\\Local\\Temp\\pip-install-vgglfm9y\\lxml_3f64fc9669184ac5a35c4d89e9659721\\setup.py'"'"'; __file__='"'"'C:\\Users\\PC\\AppData\\Local\\Temp\\pip-install-vgglfm9y\\lxml_3f64fc9669184ac5a35c4d89e9659721\\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'"'"'))' bdist_wheel -d 'C:\Users\PC\AppData\Local\Temp\pip-wheel-n93rpids'
       cwd: C:\Users\PC\AppData\Local\Temp\pip-install-vgglfm9y\lxml_3f64fc9669184ac5a35c4d89e9659721\
  Complete output (74 lines):
  Building lxml version 4.6.3.
  Building without Cython.
  Building against pre-built libxml2 andl libxslt libraries
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.10
  creating build\lib.win-amd64-3.10\lxml
  copying src\lxml\builder.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\cssselect.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\doctestcompare.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\ElementInclude.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\pyclasslookup.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\sax.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\usedoctest.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\_elementpath.py -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\__init__.py -> build\lib.win-amd64-3.10\lxml
  creating build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\__init__.py -> build\lib.win-amd64-3.10\lxml\includes
  creating build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\builder.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\clean.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\defs.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\diff.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\ElementSoup.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\formfill.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\html5parser.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\soupparser.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\usedoctest.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\_diffcommand.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\_html5builder.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\_setmixin.py -> build\lib.win-amd64-3.10\lxml\html
  copying src\lxml\html\__init__.py -> build\lib.win-amd64-3.10\lxml\html
  creating build\lib.win-amd64-3.10\lxml\isoschematron
  copying src\lxml\isoschematron\__init__.py -> build\lib.win-amd64-3.10\lxml\isoschematron
  copying src\lxml\etree.h -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\etree_api.h -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\lxml.etree.h -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\lxml.etree_api.h -> build\lib.win-amd64-3.10\lxml
  copying src\lxml\includes\c14n.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\config.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\dtdvalid.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\etreepublic.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\htmlparser.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\relaxng.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\schematron.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\tree.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\uri.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\xinclude.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\xmlerror.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\xmlparser.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\xmlschema.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\xpath.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\xslt.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\__init__.pxd -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\etree_defs.h -> build\lib.win-amd64-3.10\lxml\includes
  copying src\lxml\includes\lxml-version.h -> build\lib.win-amd64-3.10\lxml\includes
  creating build\lib.win-amd64-3.10\lxml\isoschematron\resources
  creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\rng
  copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\rng
  creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
  copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
  copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
  creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  running build_ext
  building 'lxml.etree' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  ----------------------------------------
  ERROR: Failed building wheel for lxml
  Running setup.py clean for lxml
Failed to build lxml
Installing collected packages: lxml, streamlink
    Running setup.py install for lxml ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\Python310\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\PC\\AppData\\Local\\Temp\\pip-install-vgglfm9y\\lxml_3f64fc9669184ac5a35c4d89e9659721\\setup.py'"'"'; __file__='"'"'C:\\Users\\PC\\AppData\\Local\\Temp\\pip-install-vgglfm9y\\lxml_3f64fc9669184ac5a35c4d89e9659721\\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\PC\AppData\Local\Temp\pip-record-6dzbzm0n\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Python310\Include\lxml'
         cwd: C:\Users\PC\AppData\Local\Temp\pip-install-vgglfm9y\lxml_3f64fc9669184ac5a35c4d89e9659721\
    Complete output (74 lines):
    Building lxml version 4.6.3.
    Building without Cython.
    Building against pre-built libxml2 andl libxslt libraries
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.10
    creating build\lib.win-amd64-3.10\lxml
    copying src\lxml\builder.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\cssselect.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\doctestcompare.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\ElementInclude.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\pyclasslookup.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\sax.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\usedoctest.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\_elementpath.py -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\__init__.py -> build\lib.win-amd64-3.10\lxml
    creating build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\__init__.py -> build\lib.win-amd64-3.10\lxml\includes
    creating build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\builder.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\clean.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\defs.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\diff.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\ElementSoup.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\formfill.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\html5parser.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\soupparser.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\usedoctest.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\_diffcommand.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\_html5builder.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\_setmixin.py -> build\lib.win-amd64-3.10\lxml\html
    copying src\lxml\html\__init__.py -> build\lib.win-amd64-3.10\lxml\html
    creating build\lib.win-amd64-3.10\lxml\isoschematron
    copying src\lxml\isoschematron\__init__.py -> build\lib.win-amd64-3.10\lxml\isoschematron
    copying src\lxml\etree.h -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\etree_api.h -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\lxml.etree.h -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\lxml.etree_api.h -> build\lib.win-amd64-3.10\lxml
    copying src\lxml\includes\c14n.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\config.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\dtdvalid.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\etreepublic.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\htmlparser.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\relaxng.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\schematron.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\tree.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\uri.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\xinclude.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\xmlerror.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\xmlparser.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\xmlschema.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\xpath.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\xslt.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\__init__.pxd -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\etree_defs.h -> build\lib.win-amd64-3.10\lxml\includes
    copying src\lxml\includes\lxml-version.h -> build\lib.win-amd64-3.10\lxml\includes
    creating build\lib.win-amd64-3.10\lxml\isoschematron\resources
    creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\rng
    copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\rng
    creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
    copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
    copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
    creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    running build_ext
    building 'lxml.etree' extension
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Python310\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\PC\\AppData\\Local\\Temp\\pip-install-vgglfm9y\\lxml_3f64fc9669184ac5a35c4d89e9659721\\setup.py'"'"'; __file__='"'"'C:\\Users\\PC\\AppData\\Local\\Temp\\pip-install-vgglfm9y\\lxml_3f64fc9669184ac5a35c4d89e9659721\\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\PC\AppData\Local\Temp\pip-record-6dzbzm0n\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Python310\Include\lxml' Check the logs for full command output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions