宝塔安装pyspider的全过程

最近更新了宝塔到最新版本,然后发现多了一个python项目管理,于是乎就打算用这个新功能用作python的项目管理。首先第一个要安装的程序就是pyspider。

第一坑:版本不对

我使用的python版本为3.7,然后啥都不看就开始安装,结果进坑了。

Distributed architecture, Crawl Javascript pages, Python 2.{6,7}, 3.{3,4,5,6} support, etc…

按照官方说明,pyspider暂时是不支持3.6以上的python版本。所以唯一解决方法是将版本降低到3.6。

第二坑:pycurl版本不对

因为宝塔的基于python2.7的,然后你在其”python项目管理“下使用python3.6版本安装pyspider,运行的时候会出现以下错误

错误

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

解决方法

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=nss
pip install --compile --install-option="--with-nss" --no-cache-dir pycurl

第三坑:wsgidav版本不对

wsgidav 发布了3.X版本,默认安装了。我们改成2.X的就好了。如果在没有修正的情况下运行,会出现以下错误:

- Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.

### 解决方法

pip uninstall wsgidav  
pip install wsgidav==2.4.1

安装过程

准备文件

首先在root下新建一个目录pyspider, 然后新建两个文件requirements.txtconfig.json

###添加python项目

直接确定就可以了。 然后你会发现运行不了,因为文章开头出现的一系列错误。这时候我们需要在SSH上运行以下命令进入虚拟环境:

在命令行输入 source 项目路径/项目名_venv/bin/activate
如:source /root/pyspider/pyspider_venv/bin/activate

然后参考上面第二坑的解决方法去解决pycurl的版本问题。
然后参考上面第三坑的解决方法去解决wsgidav的版本问题。

设置Supervisor

最后我们需要使用Supervisor来监测pyspider运行,顺带通过config.json来设置密码,以防止无故停止运行。

参考文章:
https://gist.github.com/ifduyue/ccc644f146657ccb9e60f0af676f1923
https://blog.csdn.net/u011451186/article/details/88222328
https://medium.com/@bindaguo/pyspider-介紹與安裝篇-bbe2705c1ad2

阅读量: | 柯西君_BingWong | 2019-11-16