python2和python3共存,Selenium错误的处理
更新Centos源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#下载完后,运行下面命令:
yum clean all
yum makecache
1.Python3安装与python2共存
- wget http://mirrors.sohu.com/python/3.6.2/Python-3.6.2.tar.xz
-
- yum install libffi-devel expat-devel gdbm-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
-
- mv /usr/bin/python /usr/bin/python.bak
-
- tar -xvJf Python-3.6.2.tar.xz
-
- cd Python-3.6.2
-
- ./configure prefix=/usr/local/python3
-
- make && make install
-
- make clean
-
- ln -s /usr/local/python3/bin/python3 /usr/bin/python
python -V 检查下是不是python3
python2 -V 检查下是不是python2
如果上面正常显示,请继续设置下。yum需要python2版本,所以我们还要修改yum的配置。/usr/libexec/urlgrabber-ext-down也需要修改python2
vi /usr/bin/yum
#把文件第一行python改成python2
- #!/usr/bin/python2
- import sys
- try:
- import yum
- except ImportError:
......继续修改urlgrabber-ext-down
vi /usr/libexec/urlgrabber-ext-down
#跟上面一样修改第一行python改成python2
#! /usr/bin/python2
# A very simple external downloader
# Copyright 2011-2012 Zdenek Pavlas
hon2和python3共存:默认pip是python2,python3需要如何配置?如果pip也没有安装,就先安装pip
- yum -y install epel-release
- yum install python-pip
- ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
配置pip源按自己需要,也可以不配置
- mkdir ~/.pip
-
- vi pip.conf
-
-
- [global]
-
- timeout = 60
-
- index-url = https://pypi.doubanio.com/simple
test.py测试代码如下:chrome界面浏览
- # -*- coding:utf-8 -*-
-
-
- from selenium import webdriver
-
-
- options = webdriver.ChromeOptions()
-
- options.add_argument('--headless')
-
- options.add_argument('--disable-gpu')
-
- driver = webdriver.Chrome(executable_path="/root/test/chromedriver", chrome_options=options)
-
- driver.get("https://www.baidu.com")
-
- print(driver.page_source)
-
- driver.quit()
测试运行看看
python test.py
运行完果断报错
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist
修改test.py加上–no-sandbox完美解决。当然使用selenium可能会出现其他的错误,我会在其他文章收集些错误解决办法。
- # -*- coding:utf-8 -*-
-
-
-
- from selenium import webdriver
-
-
-
- options = webdriver.ChromeOptions()
-
- options.add_argument('--headless')
-
- options.add_argument('--disable-gpu')
-
- options.add_argument('--no-sandbox')
-
- driver = webdriver.Chrome(executable_path="/root/test/chromedriver", chrome_options=options)
-
- driver.get("https://www.baidu.com")
-
- print(driver.page_source)
-
- driver.quit()