按照第二章实战练习时,pybm3d安装失败
Opened this issue · 0 comments
请问这个改怎么解,搜了一圈没找到解决方法。
Ubuntu 20.04
Requirement already satisfied: cython>=0.27 in /home/foo/.local/lib/python3.8/site-packages (from pybm3d) (0.29.21)
Requirement already satisfied: numpy>=1.13 in /home/foo/.local/lib/python3.8/site-packages (from pybm3d) (1.19.5)
Requirement already satisfied: setuptools>=18.0 in /usr/lib/python3/dist-packages (from pybm3d) (45.2.0)
Building wheels for collected packages: pybm3d
Building wheel for pybm3d (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-zgwb7q52/pybm3d/setup.py'"'"'; file='"'"'/tmp/pip-install-zgwb7q52/pybm3d/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-nktybisv
cwd: /tmp/pip-install-zgwb7q52/pybm3d/
Complete output (301 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/pybm3d
copying pybm3d/init.py -> build/lib.linux-x86_64-3.8/pybm3d
running build_ext
skipping 'pybm3d/bm3d.cpp' Cython extension (up-to-date)
building 'pybm3d.bm3d' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/pybm3d
creating build/temp.linux-x86_64-3.8/bm3d_src
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -I/home/foo/.local/lib/python3.8/site-packages/numpy/core/include -c pybm3d/bm3d.cpp -o build/temp.linux-x86_64-3.8/pybm3d/bm3d.o -march=native -Wall -Wextra
In file included from /home/foo/.local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1822,
from /home/foo/.local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /home/foo/.local/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from pybm3d/bm3d.cpp:536:
/home/foo/.local/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
17 | #warning "Using deprecated NumPy API, disable it with " \
| ^~~~~~~
pybm3d/bm3d.cpp:3583:75: warning: cast between incompatible function types from ‘PyObject* ()(PyObject, PyObject*, PyObject*)’ {aka ‘_object* ()(_object, _object*, _object*)’} to ‘PyCFunction’ {aka ‘_object* ()(_object, _object*)’} [-Wcast-function-type]
3583 | static PyMethodDef __pyx_mdef_6pybm3d_4bm3d_3bm3d = {"bm3d", (PyCFunction)__pyx_pw_6pybm3d_4bm3d_3bm3d, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6pybm3d_4bm3d_2bm3d};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
pybm3d/bm3d.cpp:19207:113: warning: cast between incompatible function types from ‘PyObject* ()(PyObject, PyObject*, PyObject*)’ {aka ‘_object* ()(_object, _object*, _object*)’} to ‘PyCFunction’ {aka ‘_object* ()(_object, _object*)’} [-Wcast-function-type]
19207 | static PyMethodDef __pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum = {"__pyx_unpickle_Enum", (PyCFunction)__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum, METH_VARARGS|METH_KEYWORDS, 0};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pybm3d/bm3d.cpp:19853:1: warning: missing initializer for member ‘_typeobject::tp_vectorcall’ [-Wmissing-field-initializers]
19853 | };
| ^
pybm3d/bm3d.cpp:19853:1: warning: missing initializer for member ‘_typeobject::tp_print’ [-Wmissing-field-initializers]
pybm3d/bm3d.cpp:19961:1: warning: missing initializer for member ‘_typeobject::tp_vectorcall’ [-Wmissing-field-initializers]
19961 | };
| ^
pybm3d/bm3d.cpp:19961:1: warning: missing initializer for member ‘_typeobject::tp_print’ [-Wmissing-field-initializers]
pybm3d/bm3d.cpp:20211:1: warning: missing initializer for member ‘_typeobject::tp_vectorcall’ [-Wmissing-field-initializers]
20211 | };
| ^
pybm3d/bm3d.cpp:20211:1: warning: missing initializer for member ‘_typeobject::tp_print’ [-Wmissing-field-initializers]
pybm3d/bm3d.cpp:20346:1: warning: missing initializer for member ‘_typeobject::tp_vectorcall’ [-Wmissing-field-initializers]
20346 | };
| ^
pybm3d/bm3d.cpp:20346:1: warning: missing initializer for member ‘_typeobject::tp_print’ [-Wmissing-field-initializers]
pybm3d/bm3d.cpp:20349:34: warning: cast between incompatible function types from ‘PyObject* ()(PyObject, PyObject*, PyObject*)’ {aka ‘_object* ()(_object, _object*, _object*)’} to ‘PyCFunction’ {aka ‘_object* ()(_object, _object*)’} [-Wcast-function-type]
20349 | {"run_bm3d_wrap", (PyCFunction)__pyx_pw_6pybm3d_4bm3d_1run_bm3d_wrap, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6pybm3d_4bm3d_run_bm3d_wrap},
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pybm3d/bm3d.cpp: In function ‘int __pyx_pymod_exec_bm3d(PyObject*)’:
pybm3d/bm3d.cpp:21138:26: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21138 | __pyx_type___pyx_array.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21138:26: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21138 | __pyx_type___pyx_array.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21138:26: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21138 | __pyx_type___pyx_array.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21143:32: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21143 | __pyx_type___pyx_MemviewEnum.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21143:32: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21143 | __pyx_type___pyx_MemviewEnum.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21143:32: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21143 | __pyx_type___pyx_MemviewEnum.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21155:31: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21155 | __pyx_type___pyx_memoryview.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21155:31: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21155 | __pyx_type___pyx_memoryview.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21155:31: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21155 | __pyx_type___pyx_memoryview.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21165:36: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21165 | __pyx_type___pyx_memoryviewslice.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21165:36: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21165 | __pyx_type___pyx_memoryviewslice.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp:21165:36: warning: ‘_typeobject::tp_print’ is deprecated [-Wdeprecated-declarations]
21165 | __pyx_type___pyx_memoryviewslice.tp_print = 0;
| ^~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pybm3d/bm3d.cpp:4:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pybm3d/bm3d.cpp: In function ‘PyObject* __Pyx_PyCFunction_FastCall(PyObject*, PyObject**, Py_ssize_t)’:
pybm3d/bm3d.cpp:21503:54: warning: cast between incompatible function types from ‘PyCFunction’ {aka ‘_object* ()(_object, _object*)’} to ‘_PyCFunctionFastWithKeywords’ {aka ‘_object* ()(_object, _object* const*, long int, _object*)’} [-Wcast-function-type]
21503 | return (*((__Pyx_PyCFunctionFastWithKeywords)meth)) (self, args, nargs, NULL);
| ^~~~
pybm3d/bm3d.cpp:21505:42: warning: cast between incompatible function types from ‘PyCFunction’ {aka ‘_object* ()(_object, _object*)’} to ‘_PyCFunctionFast’ {aka ‘_object* ()(_object, _object* const*, long int)’} [-Wcast-function-type]
21505 | return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs);
| ^~~~
pybm3d/bm3d.cpp: In function ‘void __Pyx__ExceptionSave(PyThreadState*, PyObject**, PyObject**, PyObject**)’:
pybm3d/bm3d.cpp:22355:21: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
22355 | *type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
pybm3d/bm3d.cpp:22356:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
22356 | *value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
pybm3d/bm3d.cpp:22357:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
22357 | *tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
pybm3d/bm3d.cpp: In function ‘void __Pyx__ExceptionReset(PyThreadState*, PyObject*, PyObject*, PyObject*)’:
pybm3d/bm3d.cpp:22364:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
22364 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
pybm3d/bm3d.cpp:22365:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
22365 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
pybm3d/bm3d.cpp:22366:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
22366 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
pybm3d/bm3d.cpp:22367:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
22367 | tstate->exc_type = type;
| ^~~~~~~~
| curexc_type
pybm3d/bm3d.cpp:22368:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
22368 | tstate->exc_value = value;
| ^~~~~~~~~
| curexc_value
pybm3d/bm3d.cpp:22369:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
22369 | tstate->exc_traceback = tb;
| ^~~~~~~~~~~~~
| curexc_traceback
pybm3d/bm3d.cpp: In function ‘int __Pyx__GetException(PyThreadState*, PyObject**, PyObject**, PyObject**)’:
pybm3d/bm3d.cpp:22439:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
22439 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
pybm3d/bm3d.cpp:22440:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
22440 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
pybm3d/bm3d.cpp:22441:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
22441 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
pybm3d/bm3d.cpp:22442:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
22442 | tstate->exc_type = local_type;
| ^~~~~~~~
| curexc_type
pybm3d/bm3d.cpp:22443:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
22443 | tstate->exc_value = local_value;
| ^~~~~~~~~
| curexc_value
pybm3d/bm3d.cpp:22444:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
22444 | tstate->exc_traceback = local_tb;
| ^~~~~~~~~~~~~
| curexc_traceback
pybm3d/bm3d.cpp: In function ‘void __Pyx__ExceptionSwap(PyThreadState*, PyObject**, PyObject**, PyObject**)’:
pybm3d/bm3d.cpp:22681:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
22681 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
pybm3d/bm3d.cpp:22682:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
22682 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
pybm3d/bm3d.cpp:22683:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
22683 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
pybm3d/bm3d.cpp:22684:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
22684 | tstate->exc_type = *type;
| ^~~~~~~~
| curexc_type
pybm3d/bm3d.cpp:22685:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
22685 | tstate->exc_value = *value;
| ^~~~~~~~~
| curexc_value
pybm3d/bm3d.cpp:22686:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
22686 | tstate->exc_traceback = *tb;
| ^~~~~~~~~~~~~
| curexc_traceback
pybm3d/bm3d.cpp: In function ‘PyObject* __Pyx_PyInt_AddObjC(PyObject*, PyObject*, long int, int)’:
pybm3d/bm3d.cpp:21953:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
21953 | } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
| ^~
pybm3d/bm3d.cpp:21958:17: note: here
21958 | case 3:
| ^~~~
pybm3d/bm3d.cpp:21963:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
21963 | } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
| ^~
pybm3d/bm3d.cpp:21968:17: note: here
21968 | case -4:
| ^~~~
pybm3d/bm3d.cpp:21973:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
21973 | } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
| ^~
pybm3d/bm3d.cpp:21978:17: note: here
21978 | case 4:
| ^~~~
pybm3d/bm3d.cpp:21983:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
21983 | } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
| ^~
pybm3d/bm3d.cpp:21988:17: note: here
21988 | default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
| ^~~~~~~
pybm3d/bm3d.cpp: In function ‘const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context*, const char*)’:
pybm3d/bm3d.cpp:23792:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
23792 | if (*ts != 'f' && *ts != 'd' && *ts != 'g') {
| ^~
pybm3d/bm3d.cpp:23796:7: note: here
23796 | case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I':
| ^~~~
pybm3d/bm3d.cpp:23800:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
23800 | if (ctx->enc_type == *ts && got_Z == ctx->is_complex &&
| ^~
pybm3d/bm3d.cpp:23808:7: note: here
23808 | case 's':
| ^~~~
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
ERROR: Failed building wheel for pybm3d