【问题标题】:Getting gcc failed error while installing scrapy安装scrapy时出现gcc失败错误
【发布时间】:2012-06-11 06:03:37
【问题描述】:

当我安装 scrapy 时,我收到以下错误(command 'gcc' failed with exit status 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:错误:“crypto_X509_New”未声明 (在此函数中首次使用) OpenSSL/crypto/crypto.c:833: 错误: ‘crypto_X509Name_New’ 未声明(在此函数中首次使用) OpenSSL/crypto/crypto.c:834:错误:“crypto_X509Req_New”未声明 (在此函数中首次使用) OpenSSL/crypto/crypto.c:835: 错误: ‘crypto_X509Store_New’ 未声明(在此函数中首次使用) OpenSSL/crypto/crypto.c:836:错误:“crypto_PKey_New”未声明 (在此函数中首次使用) OpenSSL/crypto/crypto.c:838: 错误: ‘crypto_PKCS7_New’ 未声明(在此函数中首次使用) OpenSSL/crypto/crypto.c:839:错误:‘crypto_NetscapeSPKI_New’ 未声明(在此函数中首次使用)OpenSSL/crypto/crypto.c:859: 错误:“X509_FILETYPE_PEM”未声明(在此函数中首次使用) OpenSSL/crypto/crypto.c:860:错误:“X509_FILETYPE_ASN1”未声明 (在此函数中首次使用) OpenSSL/crypto/crypto.c:863: 错误: 'EVP_PKEY_RSA' 未声明(在此函数中首次使用) 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

【问题讨论】:

  • 你用easy_install安装它??
  • 过于本地化,没有建设性。

标签: python scrapy


【解决方案1】:

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

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

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

sudo yum install pyOpenSSL

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

【讨论】:

  • 在 debian 上:sudo apt-get install python-dev libxml2-dev libxslt-dev
【解决方案2】:

还要确保您已安装 gcc:

sudo yum install gcc

【讨论】:

    【解决方案3】:

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

    sudo apt-get install libxml2-dev libxslt-dev
    

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

    【讨论】:

    • sudo apt-get install libxml2-dev libxslt-dev
    【解决方案4】:

    我的 raspi 自动更正为

    sudo apt-get install libxml2-dev libxslt1-dev
    

    我也跑了:

    sudo apt-get install libffi-dev
    

    不确定是否有必要。

    【讨论】:

      【解决方案5】:

      在 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)找到需要的包并安装。

      【讨论】:

        【解决方案6】:

        2019 年 10 月更新答案 - macOS

        对于使用macOS 的人,更具体地说,我正在运行macOS Mojave v10.14.6 atm。我在我的 终端 中运行了以下内容,这对我的问题有所帮助。显然我的Xcode Command-line 工具需要更新。

        xcode-select --install
        

        【讨论】:

          猜你喜欢
          • 2014-07-06
          • 2021-07-31
          • 1970-01-01
          • 2020-05-03
          • 1970-01-01
          • 1970-01-01
          • 2017-11-29
          • 2016-05-01
          • 1970-01-01
          相关资源
          最近更新 更多