With Python3.7, failed to install from PyPI.
ppwwyyxx opened this issue · comments
With Python 3.7, pip install doc2dash
gave errors like:
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector-strong -fno-plt -flto=4 -fuse-linker-plugin -ffat-lto-obje
cts -flto-partition=none -g -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector-strong -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector-strong -fno-plt -fPIC -I/usr/include/l
ibxml2 -Isrc/lxml/includes -I/usr/include/python3.7m -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-3.7/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c: In function ‘__Pyx_PyCFunction_FastCall’:
src/lxml/lxml.etree.c:233279:13: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))meth’
return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lxml/lxml.etree.c: In function ‘__Pyx_PyDict_Items’:
src/lxml/lxml.etree.c:4532:83: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))__pyx_umethod_PyDict_Type_items.func’
(PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ? (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lxml/lxml.etree.c:233529:16: note: in expansion of macro ‘__Pyx_CallUnboundCMethod0’
return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d);
^~~~~~~~~~~~~~~~~~~~~~~~~
src/lxml/lxml.etree.c: In function ‘__Pyx__ExceptionSave’:
src/lxml/lxml.etree.c:233753:21: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
*type = tstate->exc_type;
^~~~~~~~
curexc_type
src/lxml/lxml.etree.c:233754:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
*value = tstate->exc_value;
^~~~~~~~~
curexc_value
src/lxml/lxml.etree.c:233755:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
*tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
These are C API differences between Python 3.7 and previous versions.
However installing from github (pip install git+https://github.com/hynek/doc2dash.git
) works fine. A new PyPI release may be needed.
It looks like he hasn't released the most recent version that unpins lxml
from 3.8.0 - AFAIK, only lxml=4.x.x
works on python 3.7.
However, I had no problem installing by dowloading the GitHub repo and running python setup.py install
myself.
Yeah sorry for that. FWIW, the GitHub version dropped lxml for good and to be honest I haven't released it yet because I forgot what else there was to do. 🤔
2.3.0 is on PyPI. Sorry for the delays!