本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、问题综述
Anaconda虚拟环境虽然提供了很多便利,但是有些包不存在或者名称不一致,导致用户安装不成功
二、原生环境中安装
1. 安装fake_useragent
>> sudo pip3 install fake-useragent
2. 安装scrapy
# 安装依赖包
1) sudo apt-get install libffi-dev
2) sudo apt-get install libssl-dev
3) sudo apt-get install libxml2
4) sudo apt-get install libxml2-dev
5) sudo apt-get install python3-dev
6) sudo apt-get install libxslt1-dev
7) sudo apt-get install zlib1g-dev
8) sudo apt-get install build-essential
9) sudo pip3 install -I -U service_identity
# 安装scrapy
>> sudo pip3 install Scrapy
3. 安装tesseract-ocr
>> sudo apt-get install tesseract-ocr
4. 安装pytesseract
>> sudo pip3 install pytesseract
三、虚拟环境中安装
对于包不存在或者包名称不一致问题,有如下操作技巧:
- 在pycharm中,打开终端执行指令
conda install tesseract-ocr
- 如果该包存在,则正常安装;如果该包不存在或者没有找到,则自动提示相关的包信息
pycharm中的终端
正确安装
- 根据提示信息,可以在终端输入相关指令,安装对应的包
# 以安装 tesseract-ocr 为例
1. 搜索包
>> anaconda search -t conda tesseract
2. 查看安装包详情
>> anaconda show mcs07/tesseract
3. 安装包
>> conda install --channel https://conda.anaconda.org/mcs07 tesseract
- 正常安装截图
搜索包并安装
安装成功
四、安装Scrapy
1. 原生环境中安装
>> sudo pip3 install Scrapy
2. Anaconda环境中安装
>> conda install scrapy
五、可能出现的问题
1. scrapy has no attribute 'SSL_xxxx'
参考博客 Python3环境安装Scrapy爬虫框架过程及常见错误
# 解决方案
>> sudo pip3 uninstall pyopenssl # 卸载pyopenssl
>> sudo pip3 install pyopenssl # 重新安装pyopenssl
- ImportError: No module named '_monkeypatches'
scrapy用的是python3的解释器,但查资料发现scrapy只支持2.7以后的版本
所以将/usr/local/bin/scrapy命令的第一行的解释器换成python2就解决了!
参考博客
python文件头部#!/usr/bin/env python和#coding:utf-8的作用
# 解决方案
第一行: #!/usr/bin/python3 改为: #!/usr/bin/python2 即可!
或者#!/usr/bin/python3 改为 #!/usr/bin/env python(推荐使用)
- Python3环境安装Scrapy爬虫框架过程及常见错误
参考博客
- 安装fake-useragent错误
sudo加权限安装
安装pytesseract之前,先安装tesseract