Linux 安装Python3

543 阅读3分钟

下载文件

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

tar -zxvf Python-3.8.0.tgz

安装相关工具

安装前建议先吧Yum 换成国内源

yum install -y gcc


yum -y groupinstall "Development tools"

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libffi-devel

编译安装Python

mkdir /usr/local/python3
# 创建目录给python3

cd Python-3.7.3/
# 进入刚刚解压的python安装包目录里面

./configure --prefix=/usr/local/python3
# 生成makefile文档,这里的安装目录要设置为刚刚自己新建的目录

make
# 使用make命令编译一波

make test
# 检查一下有没有错误

make install
# 进行安装

创建软连接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

修改默认版本python和yum

由于这时候默认的python还是之前内置的2.x版本,所以我们要修改一下

rm /usr/bin/python
# 删除之前的python2的软连接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
# 新建一个软连接到python

由于yum默认使用的是python2,这个时候修改了肯定就无法运行,我们需要把yum的配置文档也修改一下


ll /usr/bin/ | grep python
# 首先我们查看一下python的安装情况

从图中我们可以看到这台电脑安装了python2.7和python3.7,默认的python是指向3.7的。

vim /usr/bin/yum
# 把第一行的python改成对应的版本,图示为python2.7

vim /usr/libexec/urlgrabber-ext-down
# 这里操作也和上面的一样

最后分别输入yumpythonpython2python3pip等命令检查一下

shell脚本自动换pip3源

创建脚本后直接运行即可!

#!/bin/bash
# linux系统pip换源
# pip国内的一些镜像
#   阿里云 https://mirrors.aliyun.com/pypi/simple/
#   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
#   豆瓣(douban) http://pypi.douban.com/simple/
#   清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
#   中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
# 1.创建pip源变量  这里选择阿里云pip源
source_url='https://mirrors.aliyun.com/pypi/simple/'
# 2.修改 ~/.pip/pip.conf (没有就创建一个)
pip_conf_file=~/.pip/pip.conf
backup_conf_file=~/.pip/pip.conf.bak
pip_dir=~/.pip
# 判断是否存在文件
if [ -e $pip_conf_file ] && [ -f $pip_conf_file ]; then
    # 已经存在, 选择是否备份并继续
    typeset -u input
    read -p "文件已存在 输入y/Y/yes/YES/回车 自动备份并继续:" input
    if [[ $input = 'YES' || $input = 'Y' || -z $input ]]; then
        if mv $pip_conf_file $backup_conf_file;then
            if echo '[global]' > $pip_conf_file && echo "index-url=${source_url}" >> $pip_conf_file; then
                # 写入pip源成功
                echo '写入pip源成功, 快去体验快速安装python模块的感觉吧'
            else
                echo '写入失败'
                exit 1
            fi
        else
            # 备份失败
            echo '备份失败'
            exit 1
        fi
    else
        # 选择退出
        echo '选择退出'
        exit 1
    fi
else
    # 文件不存在
    # 判断目录是否存在
    if [ -d $pip_dir ]; then
        # 目录存在直接新建文件
        if echo '[global]' > $pip_conf_file && echo "index-url=${source_url}" >> $pip_conf_file; then
            # 写入pip源成功
            echo '写入pip源成功, 快去体验快速安装python模块的感觉吧'
        else
            echo '写入失败'
            exit 1
        fi
    else
        # 目录不存在, 先创建目录
        if mkdir $pip_dir; then
            # 创建目录成功
            # 创建文件, 写入pip源
            if echo '[global]' > $pip_conf_file && echo "index-url=${source_url}" >> $pip_conf_file; then
                # 写入pip源成功
                echo '写入pip源成功, 快去体验快速安装python模块的感觉吧'
            else
                echo '写入失败'
                exit 1
            fi
        else
            # 创建目录失败
            echo '创建目录失败'
            exit 1
        fi
    fi
fi
exit 0

Python在Linux定时执行

设置定时任务

方法一:vi /etc/crontab

方法二:(推荐) 直接用crontab -e,不需要指定用户,如果是root权限,默认是root定时的

systemctl start crond.service 启动服务

systemctl stop crond.service 关闭服务

systemctl restart crond.service 重启服务

systemctl reload crond.service 重新载入配置

systemctl status crond.service 服务是否运行