環(huán)境:Mac OS X 10.11.6
Python版本:2.7.12
通過pip安裝:
sudo pip install Scrapy
出現(xiàn)的問題
報(bào)錯(cuò) six-1.4.1已存在,uninstall six 操作被拒絕,導(dǎo)致安裝Scrapy失敗。
問題分析
Mac OS 的SIP(System Integrity Protection)服務(wù)(默認(rèn)開啟)依賴six包,所以系統(tǒng)拒絕卸載six。
問題解決
如果要卸載six,需要先關(guān)閉系統(tǒng)的SIP。關(guān)閉方法:重啟Mac,期間一直按住 command + r 鍵,直到屏幕出現(xiàn)了蘋果的Logo;然后在菜單欄的“實(shí)用工具”中選擇終端,打開之;在終端中輸入?
csrutil disable
回車,返回信息會(huì)提示你重啟系統(tǒng)以使更改生效,重啟系統(tǒng)后,通過
csrutil status
可以看到狀態(tài)已經(jīng)是 disable了,說明關(guān)閉SIP成功。
接下來,手動(dòng)卸載six:
sudo rm -rf /Library/Python/2.7/site-packages/six*
sudo rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six*
至此,six卸載完成,終于可以使用pip安裝Scrapy了:
sudo pip install Scrapy
安裝后查看是否安裝成功:
scrapy -h
Scrapy 1.2.1 - no active projectUsage:? scrapy[options] [args]Available commands:? bench? ? ? ? Run quick benchmark test? commands? fetch ? ? ??
?Fetch a URL using the Scrapy downloader? genspider? ? Generate new spider using pre-defined templates? runspider? ?
?Run a self-contained spider (without creating a project)? settings? ? ??
Get settings values? shell? ? ? ??
?Interactive scraping console? startproject?
?Create new project? version? ??
Print Scrapy version? view? ? ? ? ?
?Open URL in browser, as seen by Scrapy? [ more ]? ? ??
More commands available when run from project directoryUse "scrapy-h" to see more info about a command
說明已經(jīng)安裝成功。
scrapy模塊導(dǎo)入問題
在python中
> import scrapy?
出現(xiàn)ImportError: No module named zope.interface的問題
解決方法
安裝zope.interface包即可
安裝步驟
step1: 先安裝setuptools,
下載地址:setuptools 28.8.0 : Python Package Index
在Mac下可以直接使用如下命令安裝:
curl https://bootstrap.pypa.io/ez_setup.py -o - | python
step2: 安裝 zope.interface:
下載地址:zope.interface 4.3.2 : Python Package Index
我首先嘗試的是這個(gè)版本:
zope.interface-4.3.2-cp27-cp27m-macosx_10_9_x86_64.whl(md5)
使用如下命令安裝(先進(jìn)入安裝文件所在的目錄,各種xx.whl表示你的安裝文件,如果沒有wheel,可以先通過sudo pip install wheel安裝):
sudo wheel install xxxx.xxxxx.xxxx.whl
出現(xiàn)提示與當(dāng)前的Python版本不兼容,于是嘗試采用源碼安裝:
先下載 zope.interface-4.3.2.tar.gz(md5)
然后解壓,找到setup.py文件,執(zhí)行
python setup.py install
即可安裝完成。
至此,zope.interface包安裝完成。再次在python中導(dǎo)入scrapy,成功。