jcarbaugh / python-roku

Screw remotes. Control your Roku with Python.
https://pypi.python.org/pypi/roku
BSD 3-Clause "New" or "Revised" License
288 stars 94 forks source link

Not working on python 3.7 #44

Closed jmutnick closed 4 years ago

jmutnick commented 4 years ago

Roku==3.0.0 is not building on python 3.7. It is failing on the lxml install. I have a higher level version of lxml running and it wants to downgrade but is not building.

pip install roku==3.0.0 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting roku==3.0.0 Using cached https://www.piwheels.org/simple/roku/roku-3.0-py3-none-any.whl Requirement already satisfied: six in ./lib/python3.7/site-packages (from roku==3.0.0) (1.11.0) Collecting requests<2.11,>=2.10 (from roku==3.0.0) Using cached https://files.pythonhosted.org/packages/99/b4/63d99ba8e189c47d906b43bae18af4396e336f2b1bfec86af31efe2d2cb8/requests-2.10.0-py2.py3-none-any.whl Collecting lxml<3.7,>=3.6 (from roku==3.0.0) Using cached https://files.pythonhosted.org/packages/4f/3f/cf6daac551fc36cddafa1a71ed48ea5fd642e5feabd3a0d83b8c3dfd0cb4/lxml-3.6.4.tar.gz Building wheels for collected packages: lxml Building wheel for lxml (setup.py) ... error ERROR: Command errored out with exit status 1: command: /home/pi/homeassistant3.7/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-axaz03dc/lxml/setup.py'"'"'; file='"'"'/tmp/pip-install-axaz03dc/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-wn6cmto6 --python-tag cp37 cwd: /tmp/pip-install-axaz03dc/lxml/ Complete output (149 lines): Building lxml version 3.6.4. Building without Cython. Using build configuration of libxslt 1.1.29 running bdist_wheel running build running build_py creating build creating build/lib.linux-armv7l-3.7 creating build/lib.linux-armv7l-3.7/lxml copying src/lxml/usedoctest.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/doctestcompare.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/sax.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/pyclasslookup.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/builder.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/ElementInclude.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/cssselect.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/_elementpath.py -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/init.py -> build/lib.linux-armv7l-3.7/lxml creating build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/init.py -> build/lib.linux-armv7l-3.7/lxml/includes creating build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/diff.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/usedoctest.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/defs.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/soupparser.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/ElementSoup.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/clean.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/html5parser.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/_html5builder.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/_setmixin.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/builder.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/init.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/formfill.py -> build/lib.linux-armv7l-3.7/lxml/html copying src/lxml/html/_diffcommand.py -> build/lib.linux-armv7l-3.7/lxml/html creating build/lib.linux-armv7l-3.7/lxml/isoschematron copying src/lxml/isoschematron/init.py -> build/lib.linux-armv7l-3.7/lxml/isoschematron copying src/lxml/lxml.etree.h -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/lxml.etree_api.h -> build/lib.linux-armv7l-3.7/lxml copying src/lxml/includes/xinclude.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/c14n.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/config.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/xpath.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/xslt.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/relaxng.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/uri.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/tree.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/schematron.pxd -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/lxml-version.h -> build/lib.linux-armv7l-3.7/lxml/includes copying src/lxml/includes/etree_defs.h -> build/lib.linux-armv7l-3.7/lxml/includes creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/rng copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/rng creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 running build_ext building 'lxml.etree' extension creating build/temp.linux-armv7l-3.7 creating build/temp.linux-armv7l-3.7/src creating build/temp.linux-armv7l-3.7/src/lxml gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/home/pi/homeassistant3.7/include -I/usr/local/include/python3.7m -c src/lxml/lxml.etree.c -o build/temp.linux-armv7l-3.7/src/lxml/lxml.etree.o -w src/lxml/lxml.etree.c: In function ‘Pyx_ExceptionSave’: src/lxml/lxml.etree.c:221065:19: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’? type = tstate->exc_type; ^~ src/lxml/lxml.etree.c:221066:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’? value = tstate->exc_value; ^~ src/lxml/lxml.etree.c:221067:17: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? *tb = tstate->exc_traceback; ^~ src/lxml/lxml.etree.c: In function ‘Pyx_ExceptionReset’: src/lxml/lxml.etree.c:221079:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’? tmp_type = tstate->exc_type; ^~ src/lxml/lxml.etree.c:221080:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’? tmp_value = tstate->exc_value; ^~ src/lxml/lxml.etree.c:221081:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? tmp_tb = tstate->exc_traceback; ^~ src/lxml/lxml.etree.c:221082:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’? tstate->exc_type = type; ^~ src/lxml/lxml.etree.c:221083:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’? tstate->exc_value = value; ^~ src/lxml/lxml.etree.c:221084:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? tstate->exc_traceback = tb; ^~ src/lxml/lxml.etree.c: In function ‘Pyx_GetException’: src/lxml/lxml.etree.c:221127:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’? tmp_type = tstate->exc_type; ^~ src/lxml/lxml.etree.c:221128:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’? tmp_value = tstate->exc_value; ^~ src/lxml/lxml.etree.c:221129:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? tmp_tb = tstate->exc_traceback; ^~ src/lxml/lxml.etree.c:221130:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’? tstate->exc_type = local_type; ^~ src/lxml/lxml.etree.c:221131:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’? tstate->exc_value = local_value; ^~ src/lxml/lxml.etree.c:221132:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? tstate->exc_traceback = local_tb; ^~ src/lxml/lxml.etree.c: In function ‘Pyx_ExceptionSwap’: src/lxml/lxml.etree.c:221441:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’? tmp_type = tstate->exc_type; ^~ src/lxml/lxml.etree.c:221442:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’? tmp_value = tstate->exc_value; ^~ src/lxml/lxml.etree.c:221443:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? tmp_tb = tstate->exc_traceback; ^~ src/lxml/lxml.etree.c:221444:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’? tstate->exc_type = type; ^~ src/lxml/lxml.etree.c:221445:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’? tstate->exc_value = value; ^~ src/lxml/lxml.etree.c:221446:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? tstate->exc_traceback = *tb; ^~ Compile failed: command 'gcc' failed with exit status 1 creating tmp cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInitkcwz2cs1.c -o tmp/xmlXPathInitkcwz2cs1.o /tmp/xmlXPathInitkcwz2cs1.c:2:1: warning: return type defaults to ‘int’ [-Wimplicit-int] main (int argc, char **argv) { ^~~~ cc tmp/xmlXPathInitkcwz2cs1.o -lxml2 -o a.out error: command 'gcc' failed with exit status 1

ERROR: Failed building wheel for lxml Running setup.py clean for lxml Failed to build lxml

iantrich commented 4 years ago

Fixed in 3.1