MAC Python 3.7安装pyspider

PySpider 是支持 JavaScript 渲染的,而这个过程是依赖于 PhantomJS 的,所以还需要安装 PhantomJS,所以在安装之前先安装 PhantomJS
下载地址 https://phantomjs.org/download.html 选用mac 版就好了
建议用迅雷下载

我这里使用的是清华源

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple (你需要安装的库)

由于我第一次安装
我直接在pycharm 终端输入了
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider
安装是没问题的
但你运行 pyspider all 就会报很多错误

第一个报错:

File “/Users/apple/PycharmProjects/python_function/venv/lib/python3.7/site-packages/pyspider/run.py”, line 231async=True, get_object=False, no_input=False):
SyntaxError: invalid syntax

解决方法:

python3.7中 async 是关键字,所以冲突了
网上有两个解决方案
第一种:
降低Python版本
第二种:
把关键字全都修改了

我采用的是第二种方法 报错的那行 直接复制

vi  /Users/apple/PycharmProjects/python_function/venv/lib/python3.7/site-packages/pyspider/run.py     

然后开始查询 vi 可以用/async 查询 然后你可以按i 改成_async 或者其他的 随你喜欢

需要改的文件挺多的

第二个报错:

wsgidav版本问题

-Deprecated option ‘dir_browser.enable’: use ‘middleware_stack’ instead.
-Deprecated option ‘domaincontroller’: use ‘domain_controller’ instead.

解决方法:

pip3 uninstall wsgidav
pip3 install  -i https://pypi.tuna.tsinghua.edu.cn/simple wsgidav==2.4.1

第三个报错:

可能是这个

ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)

解决方法:

新版本Mac安装pycurl
这里有一个坑:在高版本的mac系统环境变量里是找不到openssl的头文件的
因为新版本Mac的openssl版本 LibreSSL 2.2.7

pip3 uninstall pycurl # 卸载库
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pycurl --compile --no-cache-dir # 重新编译安装
至此终于搞定。

第四个报错:

Error: Could not create web server listening on port 25555
[I 191026 18:42:09 result_worker:49] result_worker starting...
[I 191026 18:42:10 processor:211] processor starting...
[I 191026 18:42:10 tornado_fetcher:638] fetcher starting...
Error: Could not create web server listening on port 25555
[I 191026 18:42:10 scheduler:647] scheduler starting...
[I 191026 18:42:10 scheduler:782] scheduler.xmlrpc listening on 127.0.0.1:23333
[I 191026 18:42:10 scheduler:586] in 5m: new:0,success:0,retry:0,failed:0
[I 191026 18:42:10 app:76] webui running on 0.0.0.0:5000
Error: Could not create web server listening on port 25555
Error: Could not create web server listening on port 25555
Error: Could not create web server listening on port 25555
Error: Could not create web server listening on port 25555

解决方法:

在这里插入图片描述

lsof -i:25555
kill -9 PID

至此 应该都好了

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45215649/article/details/106952693
今日推荐