具体报错如下希望能帮助到遇到相同问题的伙伴
pip install ASR-metrics
Collecting ASR-metrics
Downloading ASR_metrics-1.0.12-py3-none-any.whl (4.0 kB)
Collecting python-Levenshtein==0.12.0
Downloading python-Levenshtein-0.12.0.tar.gz (48 kB)
|████████████████████████████████| 48 kB 305 kB/s
Requirement already satisfied: setuptools in /home/ljx/miniconda3/lib/python3.8/site-packages (from python-Levenshtein==0.12.0->ASR-metrics) (52.0.0.post20210125)
WARNING: The candidate selected for download or install is a yanked version: 'python-levenshtein' candidate (version 0.12.0 at https://files.pythonhosted.org/packages/42/a9/d1785c85ebf9b7dfacd08938dd028209c34a0ea3b1bcdb895208bd40a67d/python-Levenshtein-0.12.0.tar.gz#sha256=033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1 (from https://pypi.org/simple/python-levenshtein/))
Reason for being yanked: Insecure, upgrade to 0.12.1
Building wheels for collected packages: python-Levenshtein
Building wheel for python-Levenshtein (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/ljx/miniconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/setup.py'"'"'; __file__='"'"'/tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/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 /tmp/pip-wheel-q9onqpa8
cwd: /tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/
Complete output (165 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/Levenshtein
copying Levenshtein/StringMatcher.py -> build/lib.linux-x86_64-3.8/Levenshtein
copying Levenshtein/__init__.py -> build/lib.linux-x86_64-3.8/Levenshtein
running egg_info
writing python_Levenshtein.egg-info/PKG-INFO
writing dependency_links to python_Levenshtein.egg-info/dependency_links.txt
writing entry points to python_Levenshtein.egg-info/entry_points.txt
writing namespace_packages to python_Levenshtein.egg-info/namespace_packages.txt
writing requirements to python_Levenshtein.egg-info/requires.txt
writing top-level names to python_Levenshtein.egg-info/top_level.txt
reading manifest file 'python_Levenshtein.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*pyc' found anywhere in distribution
warning: no previously-included files matching '*so' found anywhere in distribution
warning: no previously-included files matching '.project' found anywhere in distribution
warning: no previously-included files matching '.pydevproject' found anywhere in distribution
writing manifest file 'python_Levenshtein.egg-info/SOURCES.txt'
copying Levenshtein/_levenshtein.c -> build/lib.linux-x86_64-3.8/Levenshtein
copying Levenshtein/_levenshtein.h -> build/lib.linux-x86_64-3.8/Levenshtein
running build_ext
building 'Levenshtein._levenshtein' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/Levenshtein
gcc -pthread -B /home/ljx/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/ljx/miniconda3/include/python3.8 -c Levenshtein/_levenshtein.c -o build/temp.linux-x86_64-3.8/Levenshtein/_levenshtein.o
Levenshtein/_levenshtein.c: 在函数‘levenshtein_common’中:
Levenshtein/_levenshtein.c:711:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:712:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘hamming_py’中:
Levenshtein/_levenshtein.c:796:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:797:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘jaro_py’中:
Levenshtein/_levenshtein.c:840:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:841:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘jaro_winkler_py’中:
Levenshtein/_levenshtein.c:890:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:891:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘median_common’中:
Levenshtein/_levenshtein.c:992:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(medstr, len);
^~~~~~
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c: 在函数‘median_improve_common’中:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:87:31: 警告:初始化指针时目标与指针符号不一致 [-Wpointer-sign]
#define PyBytes_AS_STRING(op) (assert(PyBytes_Check(op)), \
^
Levenshtein/_levenshtein.c:106:28: 附注:in expansion of macro ‘PyBytes_AS_STRING’
#define PyString_AS_STRING PyBytes_AS_STRING
^~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:1071:19: 附注:in expansion of macro ‘PyString_AS_STRING’
lev_byte *s = PyString_AS_STRING(arg1);
^~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:1077:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(medstr, len);
^~~~~~
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c: 在函数‘extract_weightlist’中:
Levenshtein/_levenshtein.c:1115:41: 警告:在有符号和无符号整数表达式间比较 [-Wsign-compare]
if (PySequence_Fast_GET_SIZE(wlist) != n) {
^~
Levenshtein/_levenshtein.c: 在函数‘extract_stringlist’中:
Levenshtein/_levenshtein.c:1201:16: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
strings[0] = PyString_AS_STRING(first);
^
Levenshtein/_levenshtein.c:1213:18: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
strings[i] = PyString_AS_STRING(item);
^
Levenshtein/_levenshtein.c: 在函数‘string_to_edittype’中:
Levenshtein/_levenshtein.c:1379:13: 警告:未使用的变量‘len’ [-Wunused-variable]
size_t i, len;
^~~
Levenshtein/_levenshtein.c:1378:15: 警告:未使用的变量‘s’ [-Wunused-variable]
const char *s;
^
Levenshtein/_levenshtein.c: 在函数‘editops_py’中:
Levenshtein/_levenshtein.c:1650:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:1651:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘opcodes_py’中:
Levenshtein/_levenshtein.c:1768:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:1769:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘apply_edit_py’中:
Levenshtein/_levenshtein.c:1863:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:1864:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c:1878:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(s, len);
^
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:1894:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(s, len);
^
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c: 在函数‘subtract_edit_py’中:
Levenshtein/_levenshtein.c:2060:27: 警告:在有符号和无符号整数表达式间比较 [-Wsign-compare]
if (!orem && nr == -1) {
^~
在文件作用域:
Levenshtein/_levenshtein.c:6700:1: 警告:‘lev_opcodes_total_cost’ defined but not used [-Wunused-function]
lev_opcodes_total_cost(size_t nb,
^~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:6655:1: 警告:‘lev_editops_normalize’ defined but not used [-Wunused-function]
lev_editops_normalize(size_t n,
^~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:6630:1: 警告:‘lev_editops_total_cost’ defined but not used [-Wunused-function]
lev_editops_total_cost(size_t n,
^~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:2550:1: 警告:‘lev_u_edit_distance_sod’ defined but not used [-Wunused-function]
lev_u_edit_distance_sod(size_t len, const lev_wchar *string,
^~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:2371:1: 警告:‘lev_edit_distance_sod’ defined but not used [-Wunused-function]
lev_edit_distance_sod(size_t len, const lev_byte *string,
^~~~~~~~~~~~~~~~~~~~~
gcc -pthread -shared -B /home/ljx/miniconda3/compiler_compat -L/home/ljx/miniconda3/lib -Wl,-rpath=/home/ljx/miniconda3/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.8/Levenshtein/_levenshtein.o -o build/lib.linux-x86_64-3.8/Levenshtein/_levenshtein.cpython-38-x86_64-linux-gnu.so
/home/ljx/miniconda3/compiler_compat/ld: cannot find crtbeginS.o: 没有那个文件或目录
/home/ljx/miniconda3/compiler_compat/ld: cannot find -lgcc
/home/ljx/miniconda3/compiler_compat/ld: cannot find -lgcc
collect2: 错误:ld 返回 1
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for python-Levenshtein
Running setup.py clean for python-Levenshtein
Failed to build python-Levenshtein
Installing collected packages: python-Levenshtein, ASR-metrics
Running setup.py install for python-Levenshtein ... error
ERROR: Command errored out with exit status 1:
command: /home/ljx/miniconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/setup.py'"'"'; __file__='"'"'/tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/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 /tmp/pip-record-ytakoa3v/install-record.txt --single-version-externally-managed --compile --install-headers /home/ljx/miniconda3/include/python3.8/python-Levenshtein
cwd: /tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/
Complete output (165 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/Levenshtein
copying Levenshtein/StringMatcher.py -> build/lib.linux-x86_64-3.8/Levenshtein
copying Levenshtein/__init__.py -> build/lib.linux-x86_64-3.8/Levenshtein
running egg_info
writing python_Levenshtein.egg-info/PKG-INFO
writing dependency_links to python_Levenshtein.egg-info/dependency_links.txt
writing entry points to python_Levenshtein.egg-info/entry_points.txt
writing namespace_packages to python_Levenshtein.egg-info/namespace_packages.txt
writing requirements to python_Levenshtein.egg-info/requires.txt
writing top-level names to python_Levenshtein.egg-info/top_level.txt
reading manifest file 'python_Levenshtein.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*pyc' found anywhere in distribution
warning: no previously-included files matching '*so' found anywhere in distribution
warning: no previously-included files matching '.project' found anywhere in distribution
warning: no previously-included files matching '.pydevproject' found anywhere in distribution
writing manifest file 'python_Levenshtein.egg-info/SOURCES.txt'
copying Levenshtein/_levenshtein.c -> build/lib.linux-x86_64-3.8/Levenshtein
copying Levenshtein/_levenshtein.h -> build/lib.linux-x86_64-3.8/Levenshtein
running build_ext
building 'Levenshtein._levenshtein' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/Levenshtein
gcc -pthread -B /home/ljx/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/ljx/miniconda3/include/python3.8 -c Levenshtein/_levenshtein.c -o build/temp.linux-x86_64-3.8/Levenshtein/_levenshtein.o
Levenshtein/_levenshtein.c: 在函数‘levenshtein_common’中:
Levenshtein/_levenshtein.c:711:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:712:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘hamming_py’中:
Levenshtein/_levenshtein.c:796:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:797:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘jaro_py’中:
Levenshtein/_levenshtein.c:840:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:841:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘jaro_winkler_py’中:
Levenshtein/_levenshtein.c:890:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:891:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘median_common’中:
Levenshtein/_levenshtein.c:992:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(medstr, len);
^~~~~~
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c: 在函数‘median_improve_common’中:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:87:31: 警告:初始化指针时目标与指针符号不一致 [-Wpointer-sign]
#define PyBytes_AS_STRING(op) (assert(PyBytes_Check(op)), \
^
Levenshtein/_levenshtein.c:106:28: 附注:in expansion of macro ‘PyBytes_AS_STRING’
#define PyString_AS_STRING PyBytes_AS_STRING
^~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:1071:19: 附注:in expansion of macro ‘PyString_AS_STRING’
lev_byte *s = PyString_AS_STRING(arg1);
^~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:1077:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(medstr, len);
^~~~~~
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c: 在函数‘extract_weightlist’中:
Levenshtein/_levenshtein.c:1115:41: 警告:在有符号和无符号整数表达式间比较 [-Wsign-compare]
if (PySequence_Fast_GET_SIZE(wlist) != n) {
^~
Levenshtein/_levenshtein.c: 在函数‘extract_stringlist’中:
Levenshtein/_levenshtein.c:1201:16: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
strings[0] = PyString_AS_STRING(first);
^
Levenshtein/_levenshtein.c:1213:18: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
strings[i] = PyString_AS_STRING(item);
^
Levenshtein/_levenshtein.c: 在函数‘string_to_edittype’中:
Levenshtein/_levenshtein.c:1379:13: 警告:未使用的变量‘len’ [-Wunused-variable]
size_t i, len;
^~~
Levenshtein/_levenshtein.c:1378:15: 警告:未使用的变量‘s’ [-Wunused-variable]
const char *s;
^
Levenshtein/_levenshtein.c: 在函数‘editops_py’中:
Levenshtein/_levenshtein.c:1650:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:1651:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘opcodes_py’中:
Levenshtein/_levenshtein.c:1768:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:1769:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c: 在函数‘apply_edit_py’中:
Levenshtein/_levenshtein.c:1863:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string1 = PyString_AS_STRING(arg1);
^
Levenshtein/_levenshtein.c:1864:13: 警告:对指针赋值时目标与指针符号不一致 [-Wpointer-sign]
string2 = PyString_AS_STRING(arg2);
^
Levenshtein/_levenshtein.c:1878:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(s, len);
^
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:1894:43: 警告:传递‘PyBytes_FromStringAndSize’的第 1 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
result = PyString_FromStringAndSize(s, len);
^
In file included from /home/ljx/miniconda3/include/python3.8/Python.h:96:0,
from Levenshtein/_levenshtein.c:99:
/home/ljx/miniconda3/include/python3.8/bytesobject.h:51:24: 附注:需要类型‘const char *’,但实参的类型为‘lev_byte * {或称 unsigned char *}’
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
^~~~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c: 在函数‘subtract_edit_py’中:
Levenshtein/_levenshtein.c:2060:27: 警告:在有符号和无符号整数表达式间比较 [-Wsign-compare]
if (!orem && nr == -1) {
^~
在文件作用域:
Levenshtein/_levenshtein.c:6700:1: 警告:‘lev_opcodes_total_cost’ defined but not used [-Wunused-function]
lev_opcodes_total_cost(size_t nb,
^~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:6655:1: 警告:‘lev_editops_normalize’ defined but not used [-Wunused-function]
lev_editops_normalize(size_t n,
^~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:6630:1: 警告:‘lev_editops_total_cost’ defined but not used [-Wunused-function]
lev_editops_total_cost(size_t n,
^~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:2550:1: 警告:‘lev_u_edit_distance_sod’ defined but not used [-Wunused-function]
lev_u_edit_distance_sod(size_t len, const lev_wchar *string,
^~~~~~~~~~~~~~~~~~~~~~~
Levenshtein/_levenshtein.c:2371:1: 警告:‘lev_edit_distance_sod’ defined but not used [-Wunused-function]
lev_edit_distance_sod(size_t len, const lev_byte *string,
^~~~~~~~~~~~~~~~~~~~~
gcc -pthread -shared -B /home/ljx/miniconda3/compiler_compat -L/home/ljx/miniconda3/lib -Wl,-rpath=/home/ljx/miniconda3/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.8/Levenshtein/_levenshtein.o -o build/lib.linux-x86_64-3.8/Levenshtein/_levenshtein.cpython-38-x86_64-linux-gnu.so
/home/ljx/miniconda3/compiler_compat/ld: cannot find crtbeginS.o: 没有那个文件或目录
/home/ljx/miniconda3/compiler_compat/ld: cannot find -lgcc
/home/ljx/miniconda3/compiler_compat/ld: cannot find -lgcc
collect2: 错误:ld 返回 1
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /home/ljx/miniconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/setup.py'"'"'; __file__='"'"'/tmp/pip-install-uqxkstjy/python-levenshtein_80af0b1305294ee7a09c42cee5eb4910/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 /tmp/pip-record-ytakoa3v/install-record.txt --single-version-externally-managed --compile --install-headers /home/ljx/miniconda3/include/python3.8/python-Levenshtein Check the logs for full command output.
查看当前使用的gcc版本
gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.5.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
线程模型:posix
gcc 版本 7.5.0 (GCC)
(base) ljx@ljx:/usr/local/src/gcc-7.5.0/gcc-Builder-7.5.0$ sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/7.5.0/
cc1 crtfastmath.o libasan.a libcilkrts.so libgomp.spec liblto_plugin.so.0.0.0 libsanitizer.spec libubsan.a
cc1plus crtoffloadbegin.o libasan_preinit.o libcilkrts.spec libitm.a libmpx.a libssp_nonshared.a libubsan.so
collect2 crtoffloadend.o libasan.so libgcc.a libitm.so libmpx.so libstdc++.a lto1
crtbegin.o crtoffloadtable.o libatomic.a libgcc_eh.a libitm.spec libmpx.spec libstdc++fs.a lto-wrapper
crtbeginS.o crtprec32.o libatomic.so libgcc_s.so liblsan.a libmpxwrappers.a libstdc++.so plugin/
crtbeginT.o crtprec64.o libbacktrace.a libgcov.a liblsan.so libmpxwrappers.so libsupc++.a
crtend.o crtprec80.o libcc1.so libgomp.a liblto_plugin.so libquadmath.a libtsan.a
crtendS.o include/ libcilkrts.a libgomp.so liblto_plugin.so.0 libquadmath.so libtsan.so
编辑
sudo vi ~/.bashrc
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7.5.0:$LIBRARY_PATH
export LIBRARY_PATH
source ~/.bashrc
成功
pip install ASR-metrics
Collecting ASR-metrics
Using cached ASR_metrics-1.0.12-py3-none-any.whl (4.0 kB)
Collecting python-Levenshtein==0.12.0
Using cached python-Levenshtein-0.12.0.tar.gz (48 kB)
Requirement already satisfied: setuptools in /home/ljx/miniconda3/lib/python3.8/site-packages (from python-Levenshtein==0.12.0->ASR-metrics) (52.0.0.post20210125)
WARNING: The candidate selected for download or install is a yanked version: 'python-levenshtein' candidate (version 0.12.0 at https://files.pythonhosted.org/packages/42/a9/d1785c85ebf9b7dfacd08938dd028209c34a0ea3b1bcdb895208bd40a67d/python-Levenshtein-0.12.0.tar.gz#sha256=033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1 (from https://pypi.org/simple/python-levenshtein/))
Reason for being yanked: Insecure, upgrade to 0.12.1
Building wheels for collected packages: python-Levenshtein
Building wheel for python-Levenshtein (setup.py) ... done
Created wheel for python-Levenshtein: filename=python_Levenshtein-0.12.0-cp38-cp38-linux_x86_64.whl size=165877 sha256=7fbed0c45ccfe120dd1a39704fa398b39714d4e26014c990bf6ea2bf9465db9b
Stored in directory: /home/ljx/.cache/pip/wheels/a8/da/22/2970e270912ba623ccac7d516b7411a820c8f2b4252463a605
Successfully built python-Levenshtein
Installing collected packages: python-Levenshtein, ASR-metrics
Successfully installed ASR-metrics-1.0.12 python-Levenshtein-0.12.0