centos下安裝scrapy遇到的問題

環境:centos7、python2.7

最近想做爬蟲,覺得scrapy這個框架比較好,但是這個框架對ubuntu的支持很好,安裝非常便捷,不過我用的centos7,折騰了不少時間。存在的問題跟其它人都一樣,就是包依賴性的問題。
官方文檔說,使用pip安裝scrapy之前需要setuptools,pip依賴于setuptools,默認自帶,所以不必安裝。如果你不放心可以使用 pip install setuptools,會提示你已經安裝好了。
官方文檔還說,需要安裝lxml。lxml顧名思義,是用來解析XML、HTML并建立DOM的庫,依然使用 pip install setuptools安裝。
另外還需要openssl。openssl因為其“心臟出血”漏洞,以及其后暴露出的項目組管理上問題受到了開源社區和各大操作系統廠家的批評,不過我們的scrapy框架依賴于openssl,所以還得安裝它。各大linux上基本都默認安裝了openssl,可以使用rpm -qa openssl查看,并使用yum -y install openssl安裝。
在做完以上前期工作之后,我使用pip install scrapy,安裝了一會后出現提示:

Command "/usr/bin/python -c "import setuptools, tokenize;file='/tmp/pip-build-6svGBx/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-JJNTSq-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-6svGBx/cffi

意思應該是編譯cffi的時候出了問題,于是嘗試pip install cffi出現類似的錯誤提示,確定是這個錯誤了,但是為什么導致了這個錯誤以及怎樣解決不知道。于是上overstack、百度、google搜,發現大部分人的問題都是包依賴性的問題,我覺得我這個也有很大可能是這個原因。于是按照其他人的做法,安裝了很多包,最后發現錯誤出現在一個叫 libffi的庫上面,libffi是一個用于高級語言之間的相互調用的處理的庫。于是 pip install libffi-devel,然后pip install scrapy,成功!問題應該是編譯cffi的時候少了libffi庫!
問題因環境和操作而異,但是我覺得centos上安裝scrapy的絕大多數問題都是包和庫依賴性的問題,多看看其他人的解決方法、多試試就肯定能解決的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容