Python项目部署selenium+oss2环境
一、Linux安装谷歌浏览器
旧版版本谷歌Linux版本下载地址:https://www.chromedownloads.net/chrome64linux/
我选择的是安装谷歌浏览器旧的版本(98.0.4758.102),这个版本可以在
https://chromedriver.storage.googleapis.com/index.html?path=98.0.4758.102/
这个地址找到对应驱动,需要可以V我:Procedural_Life
有了谷歌的旧版安装包就可以跳过下面的第一步了(第一步是下载最新版本谷歌浏览器)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install -y lsb
安装包对应第一步下载的地址:
yum localinstall google-chrome-stable_current_x86_64.rpm
二、安装宋体字体(解决截图中文乱码)
下载宋体语言包地址:https://pan.baidu.com/s/1vHP0lTFO8692t5BfYV-kbA
提取码:
zzxl
mkdir -p /usr/share/fonts/chinese/
#将songti.ttf文件上传到该目录下
rz
fc-cache -fv
fc-list
至此宋体语言包就已经生效了
三、安装Python3.7.0
#安装C语言编译依赖
yum -y install gcc
#安装其他依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
#下载python3.7
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
#解压
tar -zxvf Python-3.7.0.tgz
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
建立软连接(linux一般都自带python2.7.5,这里建立软连接会失败,需要先删除/usr/bin/python3,删除前请先备份!)
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
至此python3.7 就已经安装完成了
四、运行Python脚本
我是将python脚本和谷歌浏览器驱动放在home下面的
python request_process.py
第一次执行启动命令正常来说会报错,这里会提示我们该引入的oss2,selenium,uvicorn,fsatapi等包没有被引入,这里我们只需要用pip将这些包引入即可
最后我们执行命令将python挂起就ok了
nohup python request_process.py & >python.log
问题集
问题1:pip3 install oss2报错:ModuleNotFoundError: No module named 'oss2'
执行下面命令升级后再重试
python3 -m pip install --upgrade pip
问题2:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168
降低urllib版本
pip3 install urllib3==1.9.1
问题3:ImportError: cannot import name 'DependencyWarning' from 'urllib3.exceptions' (/usr/local/python3/lib/python3.7/site-packages/urllib3/exceptions.py)
(虚拟环境运行文件出错)
这是由于python中requests带有自己的urllib3库副本,位于requests/packages子目录中。这个副本被打碎了,所以导致报错。
解决方案:对request进行重装,代码如下:(最有效)
pip install --force-reinstall requests==2.1.0