5

当我安装scrapy时,我收到以下错误(命令'gcc'失败,退出状态为1)。我正在使用 Centos,是的,我安装了最新版本的 gcc。但我不确定为什么会收到此错误。我尝试用谷歌搜索,但找不到解决方案

OpenSSL/crypto/crypto.c:在函数“initcrypto”中:OpenSSL/crypto/crypto.c:817:警告:函数“ERR_load_crypto_strings”的隐式声明 OpenSSL/crypto/crypto.c:818:警告:函数“的隐式声明” OpenSSL_add_all_algorithms' OpenSSL/crypto/crypto.c:832: error: 'crypto_X509_New' undeclared (first use in this function) OpenSSL/crypto/crypto.c:833: error: 'crypto_X509Name_New' undeclared (first use in this function) OpenSSL/ crypto/crypto.c:834: 错误: 'crypto_X509Req_New' 未声明(首次在此函数中使用) OpenSSL/crypto/crypto.c:835: 错误: 'crypto_X509Store_New' 未声明(首次在此函数中使用) OpenSSL/crypto/crypto。 c:836: error: 'crypto_PKey_New' undeclared (first use in this function) OpenSSL/crypto/crypto.c:838: error:'crypto_PKCS7_New' 未声明(在此函数中首次使用) OpenSSL/crypto/crypto.c:839:错误:'crypto_NetscapeSPKI_New' 未声明(在此函数中首次使用) OpenSSL/crypto/crypto.c:859:错误:'X509_FILETYPE_PEM' 未声明(在此函数中首次使用)OpenSSL/crypto/crypto.c:860: error: 'X509_FILETYPE_ASN1' undeclared(在此函数中首次使用) OpenSSL/crypto/crypto.c:863: error: 'EVP_PKEY_RSA' undeclared(首次在此函数)OpenSSL/crypto/crypto.c:864:错误:未声明“EVP_PKEY_DSA”(在此函数中首次使用)错误:设置脚本退出并出现错误:命令“gcc”失败,退出状态为 1c:860: error: 'X509_FILETYPE_ASN1' undeclared (first use in this function) OpenSSL/crypto/crypto.c:863: error: 'EVP_PKEY_RSA' undeclared (first use in this function) OpenSSL/crypto/crypto.c:864:错误:未声明“EVP_PKEY_DSA”(在此函数中首次使用)错误:安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1c:860: error: 'X509_FILETYPE_ASN1' undeclared (first use in this function) OpenSSL/crypto/crypto.c:863: error: 'EVP_PKEY_RSA' undeclared (first use in this function) OpenSSL/crypto/crypto.c:864:错误:未声明“EVP_PKEY_DSA”(在此函数中首次使用)错误:安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1

我在安装 lxml 时也遇到了同样的错误

src/lxml/lxml.etree.c:162737:错误:“XML_XPATH_UNKNOWN_FUNC_ERROR”未声明(首次在此函数中使用) src/lxml/lxml.etree.c:162747:错误:“XML_XPATH_INVALID_OPERAND”未声明(首次在此函数中使用) src/lxml/lxml.etree.c:162757:错误:未声明“XML_XPATH_INVALID_TYPE”(在此函数中首次使用) src/lxml/lxml.etree.c:162767:错误:未声明“XML_XPATH_INVALID_ARITY”(在此函数中首次使用) src/lxml/lxml.etree.c:162777:错误:未声明“XML_XPATH_INVALID_CTXT_SIZE”(在此函数中首次使用)src/lxml/lxml.etree.c:162787:错误:未声明“XML_XPATH_INVALID_CTXT_POSITION”(首次在此函数中使用) src/lxml/lxml.etree.c:163133:错误:未声明“LIBXSLT_VERSION”(在此函数中首次使用)src/lxml/lxml.etree.c:163145:错误:'xsltLibxsltVersion' 未声明(首次在此函数中使用)src/lxml/lxml.etree.c:163157:错误:'__pyx_v_4lxml_5etree_XSLT_DOC_DEFAULT_LOADER' 未声明(首次在此函数中使用)src/lxml/lxml.etree.c:163157:错误: 'xsltDocDefaultLoader' 未声明(在此函数中首次使用) src/lxml/lxml.etree.c:163166:错误:'__pyx_f_4lxml_5etree__xslt_doc_loader' 未声明(在此函数中首次使用)错误:安装脚本退出并出现错误:命令 'gcc' 失败退出状态 1安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1

4

6 回答 6

14

您没有编译此模块所需的 C 库。对于 lxml,您必须安装以下软件包。

sudo yum install python-devel libxml2-devel libxslt-devel

要解决 Scrapy 的 OpenSSL 问题,请安装pyOpenSSL

sudo yum install pyOpenSSL

注意:这些是 fedora linux 的软件包名称。其他发行版可能有不同的包名称。

于 2012-06-07T09:20:37.627 回答
2

还要确保您已安装 gcc:

sudo yum install gcc
于 2013-09-26T11:35:51.290 回答
1

这是我在 Linux Mint Nadia 上的解决方案:

sudo apt-get install libxml2-dev libxslt-dev

我已经安装了 python-dev。我注意到一旦安装了 xml 和 xslt 依赖项,pip 就能够为我安装 pyOpenSSL。

于 2012-12-07T18:53:40.737 回答
0

我的 raspi 自动更正为

sudo apt-get install libxml2-dev libxslt1-dev

我也跑了:

sudo apt-get install libffi-dev

不确定是否有必要。

于 2014-11-08T20:42:39.120 回答
0

在 Fedora 23 上,我必须安装以下软件包$ pip install scrapy才能成功完成。

sudo dnf install python-devel libxml2-devel libxslt-devel libffi-devel libffi-devel

如果设置过程抱怨缺少文件,例如:

fatal error: openssl/opensslv.h: No such file or directory
    compilation terminated.
    error: command 'gcc' failed with exit status 1

$ dnf provides *filename (dnf 提供 *openssl/opensslv.h)找到所需的包并安装它。

于 2016-06-21T14:53:03.837 回答
0

2019 年 10 月更新的答案 - macOS

对于那些正在运行macOS并且更具体的人,我正在运行macOS Mojave v10.14.6atm。我在终端中运行了以下命令,它帮助了我的问题。显然我的Xcode Command-line工具需要更新。

xcode-select --install
于 2019-10-04T22:55:31.790 回答