windows 10專業版下安裝pymysql、scrapy、pyspidy等出錯時

小劉哎發表於2020-11-24

windows 10專業版下安裝pymysql、scrapy、pyspidy等出錯時

執行命令:

pip3 install pyspider

Windows 下可能會出現這樣的錯誤提示:Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-vXo1W3/pycurl

這個是 PyCurl 安裝錯誤,一般會出現在 Windows 下,需要安裝 PyCurl 庫,下載連結為:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl,找到對應 Python 版本然後下載相應的 Wheel 檔案。

如 Windows 64 位,Python3.6 則下載 pycurl‑7.43.0‑cp36‑cp36m‑win_amd64.whl,隨後用 Pip 安裝即可,命令如下:

pip3 install pycurl‑7.43.0‑cp37‑cp37m‑win_amd64.whl
這裡的pycurl-7.43.0-cp37m-win_amd64.whl是下載下來的檔案路徑

執行命令驗證:

pyspider all
出現錯誤:SyntaxError: invalid syntax

原因是:python3.7中async是關鍵字

解決辦法:將這個關鍵字替換掉。主要有兩個檔案:~\Lib\site-packages\pyspider\run.py 和 ~\Lib\site-packages\pyspider\fetcher\tornado_fetcher.py
在替換是要注意:只替換名為async 的變數或引數名。不要圖省事選擇“全部替換”
替換儲存後再次執行“pyspider all”
這時spider只啟動到“scheduler xmlrpc listening on 127.0.0.1:23333”就停止了
繼續替換PYTHON_HOME\Lib\site-packages\pyspider\webui\app.py中的async
再次啟動
又報錯:ValueError: Invalid configuration:
-Deprecated option ‘domaincontroller’: use ‘http_authenticator.domain_controller’ instead.
解決辦法:開啟PYTHON_HOME\Lib\site-packages\pyspider\webui\webdav.py檔案,修改第209行
把 ‘domaincontroller’: NeedAuthController(app)
修改為:
‘http_authenticator’:{
‘HTTPAuthenticator’:NeedAuthController(app),
},
儲存檔案
再次執行,成功

這是訪問http://localhost:5000就能開啟pyspider的圖形介面了

相關文章