若是新环境要先安装GCC库:yum install gcc
1. 安装python3
- 下载python3的安装包
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
- 安装编译需要的关联库
# 安装 zlib zlib-devel
yum install -y zlib zlib-devel
# 安装C编译器
yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel
# 安装sqlite-devel (不安装的话有时会报错builtins.ModuleNotFoundError: No module named '_sqlite3')
yum install sqlite-devel
- 解压,编译,安装
#解压
tar -zxvf Python-3.6.3.tgz
#进入解压后的目录
cd Python-3.6.3
#编译
./configure --prefix=/usr/local/python3 (prefix表示安装的路径,我安装在/usr/local中,也可以安装其他地方)
#安装
make && make install
- 创建python3的软连接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
(软连接的文件名不要用python,因为python已经指向了python2.7)
- 创建pip3的软连接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
- 现在就可以在命令行中直接输入python3来打开python3的shell,也可以直接使用pip3下载python3的库。
2. 创建python3的虚拟环境
- 下载virtulenv (若是创建不成功或是报错的话就先执行第3步中配置pip安装源为阿里云)
pip3 install virtualenv
- 创建virtulenv软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
- 创建虚拟环境
在命令行直接输入:
virtualenv 路径/虚拟环境名 -p /usr/bin/python3
- 进入虚拟环境
#cd进入虚拟环境的目录
source ./bin/activate
- 退出虚拟环境
#在命令行输入
deactivate
3.在python3虚拟环境中安装scrapy框架
- 先进入python3的虚拟环境 (source ./bin/activate)
- 安装pip包管理
yum install -y python-pip
- 配置pip安装源为阿里云 http://mirrors.aliyun.com/help/pypi。
mkdir ~/.pip
vim ~/.pip/pip.conf
# 改为如下内容
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
- 安装编译器和开发库之类的,假如你们也没安装的话
yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel
如遇以下情况:
(py3) [root@192 /]# yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel
已加载插件:fastestmirror, langpacks
/var/run/yum.pid 已被锁定,PID 为 3371 的另一个程序正在运行。
Another app is currently holding the yum lock; waiting for it to exit...
另一个应用程序是:PackageKit
内存: 92 M RSS (1.4 GB VSZ)
已启动: Mon Dec 3 21:15:32 2018 - 04:17之前
状态 :睡眠中,进程ID:3371
请执行下面一句:
rm -rf /var/run/yum.pid
再重新执行:
yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel
- 安装主角
Scrapy
pip3 install scrapy
- 创建软连接
ln -s /usr/local/python3/bin/scrapy /usr/bin/scrapy
可能会报错:
Could not find a version that satisfies the requirement Twisted>=13.1.0 (from scrapy) (from versions: )
No matching distribution found for Twisted>=13.1.0 (from scrapy)
原因是没有安装Twisted
通过
wget https://twistedmatrix.com/Releases/Twisted/18.7/Twisted-18.7.0.tar.bz2 获取
然后
tar -xjvf Twisted-18.7.0.tar.bz2 进行解压
注意在解压是可能会遇到
tar (child): lbzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now的错误
这是因为你没有安装bzip2
通过
yum -y install bzip2 命令安装一下就好了
解压之后
cd Twisted-18.7.0 到目录下
通过
python3 setup.py install 指令进行安装
最后直接进行
pip install scrapy 进行scrapy安装就行了
- 安装
MySQL-python
- Python连接MySQL的模块
easy_install MySQL-python
- 如果遇到
mysql_config not found
- 之前的博文有提过这个错误,不过是在Ubuntu下的解决方案-安装
libmysqlclient-dev
- 然而在CentOS的源中并没有这个包。而安装
mysql-devel
即可。
yum install -y mysql-devel
- 安装
MySQL
数据库yum groupinstall mariadb mariadb-client
- MariaDB其实可以看做MySQL新版吧,具体缘由自行百度。
- 安装
redis
NoSQL数据库 - 会用到配合bloomfilter做url去重。
yum install -y redis
- 安装
BloomFilter
模块
pip3 install bloomfilter
- 其它常用库安装方法一样,直接pip3 install 包名 即可。bs4、lxml、pyquery、requests等