Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程

一、源码安装

首先安装开发工具包

yum groupinstall -y "Development tools"

安装依赖软件包

yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget

上Python 官网 找源码包的下载地址

wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz -O /usr/local/Python-3.7.6.tar.xz

解压安装

tar -xf Python-3.7.6.tar.xz

cd Python-3.7.6

进入目录后,执行下面的命令

修改文件 Python-3.7.6/Modules/Setup.dist, 去掉如下几行的注释

readline readline.c -lreadline -ltermcap

SSL=/usr/local/ssl
_ssl _ssl.c \
 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
 -L$(SSL)/lib -lssl -lcrypto

开始编译安装

./configure --enable-shared

make -j 2 && make install
# -j 当前主机的 cpu 核心数

–enable-shared 指定安装共享库,共享库在使用其他需调用python的软件时会用到,比如使用mod_wgsi 连接Apache与python时需要。

配置共享库文件

为所有用户设置共享库目录
用 vi 编辑器打开配置文件 /etc/profile.d/python3_lib.sh (原来没有 重新生成的 名字可以自定义,必须以.sh 结尾)

vi /etc/profile.d/python3_lib.sh 添加如下内容
# python3.7 共享库目录
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

编辑文件 /etc/ld.so.conf.d/python3.conf,并且添加如下内容:

/usr/local/lib

保存退出文件后, 执行如下命令 加载配置信息使其生效

ldconfig

执行如下命令,是环境变量生效

source /etc/profile
# 此条命令只能让当前的 shell 环境下的环境变量生效,最好重启机器

测试python3

$ python3
Python 3.7.6 (default, Dec 25 2019, 03:22:21)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

测试 pip3

![假如上面显示的含有 python3.7 就没问题了

二、 配置使用本地的源安装第三方模块

阿里云的服务器不用如下配置 执行好上面就可以了 他会自动配置的
创建配置文件
配置 pip3 使用本地源

mkdir ~/.pip
vi ~/.pip/pip.conf

写入如下内容:

[global]

index-url=http://mirrors.aliyun.com/pypi/simple/

豆瓣源: https://pypi.douban.com/simple/
阿里源: https://mirrors.aliyun.com/pypi/simple
然后我们执行如下代码安装软件 如果可以那就没有问题

pip3 install ipython

shell 脚本自动安装Python3

yum groupinstall -y "Development tools"
#开发工具包
touch /mnt/inst_pyth.log
positio_pyth=/mnt/inst_pyth.log
echo "开始安装依赖包-----"
yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget tar >> $positio_pyth
#依赖包
rpm -q gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget tar
 >> $positio_pyth
if [ $? -ne 0 ];then
 exit
fi
echo "开始下载python安装包,请耐心等待------"
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz -O /usr/local/Python-3.7.6.tar.xz
#下载安装包
if [ $? -ne 0 ];then
 exit
fi
cd /usr/local/
tar xf Python-3.7.6.tar.xz >> $positio_pyth
cd Python-3.7.6
sed -ri 's/^#(readline)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#(SSL=)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#(_ssl)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#([ \t]*-DUSE)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#([ \t]*-L\$\(SSL\))/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
# 到配置文件里打开这几行的注释
./configure --enable-sharde
a=`cat /proc/cpuinfo|awk '/cpu cores/ {print $NF}'`
make -j $a && make install >> $positio_pyth
#j 指定cpu核数
touch /etc/profile.d/python3_lib.sh
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib" > /etc/profile.d/python3_lib.sh
touch /etc/ld.so.conf.d/python3.conf
echo "/usr/local/lib" > /etc/ld.so.conf.d/python3.conf
ldconfig
#使添加的内容生效
source /etc/profile
#生效环境变量
pip3 -V
if [ $? -eq 0 ];then
 echo "安装成功"
else
 echo "安装失败"
fi

到此这篇关于Centos7下源码安装Python3 shell 脚本自动安装Python3的文章就介绍到这了,更多相关Centos7安装Python3 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python3.8下载及安装步骤详解

    1.操作系统:Windows7 64bit Python版本:3.8下载地址:https://www.python.org/downloads/release/python-380/,选择下方的Windows x86-64 executable installer 2.安装步骤: 双击安装文件python-3.8.0-amd64.exe 勾选下方"Add Python 3.8 to PATH",并选择"Customize installation" 3.把Optio

  • Shell脚本实现在Linux系统中自动安装JDK

    A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: 复制代码 代码如下: $ ./install-jdk.sh B的IP or: 复制代码 代码如下: $ ./install-jdk.sh "B的IP" "JDK的URI" 就可以在机器B上安装JDK.jdk使用的tar包需要用户自己设定DEFAULT_JDK_SRC=?,保证可以wget得到即

  • 一个简洁的全自动安装LNMP服务器环境的Shell脚本分享

    此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP. 本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件.大家安装完可以删除该目录. 使用方法: 1.把shell脚本的内容保存为nginx_php 2.root权限下运行: 复制代码 代码如下: chmod u+x nginx_php; ./nginx_php init; ./nginx_php ins_mysql-server; ./nginx_php

  • Shell脚本实现自动安装zookeeper

    A:本脚本运行的机器,Linux RHEL6 B,C,D,...:待安装zookeeper cluster的机器, Linux RHEL6 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装zk的机器B,C,D,...上,然后就可以在A上运行本脚本: 复制代码 代码如下: $ ./install_zookeeper 前提: B, C, D机器必须配置好repo,本脚本使用的是cdh5的repo, 下面的内容保存到:/etc/yum.repos.d/cloudera-cdh5.repo: 复

  • Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程

    一.源码安装 首先安装开发工具包 yum groupinstall -y "Development tools" 安装依赖软件包 yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget 上Python 官网 找源码包的下载地址 wget https://www.python.org/ftp/python/3.7.6/Pyth

  • shell脚本自动安装jdk的方法示例

    1.安装准备 1.jdk-8u221-linux-x64.tar.gz jdk压缩包(需要放在opt目录下) 2.shell脚本 2.shell命令 Sed 对字符的处理 -p 显示,将某个选择的数据打印显示.通常 p 会与参数 sed -n 一起执行 -d 删除,显示模式空间删除指定行后的内容,不会对原文件数据删除 -a 添加,a 的后面可以接字符串,该字符串会在当前指定行的下一行出现 -c 更改, c 的后面可以接字符串,该字符串可以取代 n1,n2 之间的行 -i 插入, i 的后面可以接

  • 国产化设备鲲鹏CentOS7上源码安装Python3.7的过程详解

    目录 获取源代码 准备工作(安装依赖) 生成Makefile 构建&&安装 添加环境变量 其他小问题 找不到libpython3.7m.so.1.0 升级pip上的小坑 影响pyinstaller打包后python程序移植性的因素 具体编译过成与正常的Python源代码在x86平台上的过程无异,此篇随笔仅当用作复制黏贴的备忘录.不得不说在一个老旧系统上安装一个老旧的Python版本,从头编译一个Python还是一个较为稳健的选择. 获取源代码 Python官网处下载所需源码版本[https

  • CentOS7环境下源码安装MySQL5.7的方法

    本文实例讲述了CentOS7环境下源码安装MySQL5.7的方法.分享给大家供大家参考,具体如下: 安装依赖包 复制代码 代码如下: yum -y install autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++ 下载相应源码包 wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/bo

  • centos7环境下源码安装mysql5.7.16的方法详解

    本文实例讲述了centos7环境下源码安装mysql5.7.16的方法.分享给大家供大家参考,具体如下: 一.下载源码包 下载mysql源码包 http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz 二.安装约定: 用户名:mysql 安装目录:/data/mysql 数据库目录:/data/mysql/data 三.安装准备 1.添加用户 > useradd -s /sbin/nologin mysql 2.建立目录 > mkd

  • Linux下源码编译安装配置SVN服务器的步骤分享

    说明: SVN(subversion)的运行方式有两种: 一种是基于Apache的http.https网页访问形式: 还有一种是基于svnserve的独立服务器模式. SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据:另一种是使用普通的文件FSFS存储数据. 由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全. 实现目的: 以svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器. 具体操作: 操作系统

  • Mac系统下源码编译安装MySQL 5.7.17的教程

    1.下载并解压到:/Users/xiechunping/Softwares/mysql-5.7.17 下载地址:http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz 2.进入mysql-5.7.17,执行cmake cd ../mysql-5.7.17 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mys

  • CentOS7.4 源码安装MySQL8.0的教程详解

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 以下为本人2018.4.23日安装过程的记录.整个过程大概需要一个小时,make && make install过程需要的时间较长. 一.环境 CentOS7.4   64位  最小化安装 二.准备工作 1.安装依赖 yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio

  • Linux下源码包安装Swoole及基本使用操作图文详解

    本文实例讲述了Linux下源码包安装Swoole及基本使用操作.分享给大家供大家参考,具体如下: 下载Swoole PECL扩展源码包:http://pecl.php.net/package/swoole 关于PHP版本依赖选择: 下载好放到/usr/local/src下,解压缩: tar -zxvf swoole-2.2.0.tgz 准备扩展安装编译环境: phpize 查看php-config位置: find / -name php-config 配置:(--with-php-config=

  • linux下源码包安装的服务管理

    目录 1.源码包服务的启动管理 2.源码包服务的自启动管理 3.让源码包服务被服务管理命令识别 (1)让通过源码包安装的服务能被service命令管理启动 (2)让通过源码包安装的服务能被chkconfig命令管理自启动 (3)让ntsysv命令可以管理通过源码包安装的服务 (4)总结 1.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚本的绝对路径, # 最后加上启动选项. [root@localhost ~]# /usr/local/apa

随机推荐