1,更改python版本
which python —查看可执行路径
进入路径 :
ls python* —查看python文件
安装python包:
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
2,安装所需环境
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
3,安装gcc编译器,出现Complete代表安装完成。
yum install gcc -y
4、将下载的安装包放到linux的/usr/local目录下,解压到当前目录,创建目录/usr/local/python3:
cd /usr/local
tar xf Python-3.8.0.tgz --解压到当前路径
进入解压后目录
./configure --prefix=/usr/local/python3 --安装
5、编译源码并执行源码安装
yum install libffi-devel -y
make --编译
make install --安装
/usr/local/python3/bin/pip3 list --查看是否成功
/usr/local/python3/bin/pip3 install --upgrade pip ----更新pip
6, 创建软连接,使 python 指向 python3 即可。
ln -sf /usr/local/python3/bin/python3 /usr/bin/python
输入python3 查看版本
ls -l /usr/bin/python*
(创建失败则删除软连接,重新创建)
rm -rf python3 --删除
7,修改 yum 配置,因为 yum 原来是使用 python2 的,改了 python3 之后可能会出错,所以需要重新配置。
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
vi /usr/libexec/urlgrabber-ext-down
把文件头部的 #!/usr/bin/python 改成 #!/usr/bin/python2.7 保存
8,配置环境
vim /etc/profile
添加:
export PYTHON_HOME=/usr/local/python3
export PATH=P Y T H O N H O M E / b i n : {PYTHON_HOME}/bin:PYTHON
H
OME/bin:PATH
执行:
source /etc/profile
9,设置python3为默认python
cd /usr/bin
rm -rf python
ln -s /usr/bin/python3 python
建立pip3的软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
--------------10,创建python的虚拟环境
cd /usr/bin
pip install virtualenv
virtualenv spider 创建一个叫spider的虚拟环境
进入虚拟环境:
source spider/bin/activate spider 为创建的虚拟环境的名称
deactivate --退出虚拟环境
rmvirtualenv spider --删除虚拟环境
--------------11, 安装依赖库
pip freeze > library.txt --打包库名
pip install -r library.txt --安装依赖库
(虚拟环境下)
--------------12,运行py文件
python3 文件绝对路径.py
后台运行
nohup python 文件绝对路径.py
nohup python /opt/HlProject/qichacha/knowledge_equity/qcc_zscq_linux.py > /dev/null& --重定向
ps -ef | grep python --查看进程
kill PID --杀死进程
(虚拟环境下)
配置镜像源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
-------------13,文件导包问题
import os
import sys
curPath = os.path.abspath(os.path.dirname(file))
rootPath = os.path.split(curPath)[0]
sys.path.append(os.path.split(rootPath)[0])
------------14,编码格式问题
coding=utf-8