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

作者:wx912820 时间:2023-01-11 13:45:04 

一、源码安装

首先安装开发工具包

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

来源:https://blog.csdn.net/wx912820/article/details/104668908

标签:Centos,源码安装,Python3,shell,自动安装
0
投稿

猜你喜欢

  • 使用github部署前端vue项目

    2024-05-02 17:06:54
  • Flask之flask-script模块使用

    2022-02-18 11:01:13
  • 最新的关键SQL Server漏洞已被微软证实

    2009-03-16 14:31:00
  • python3.4用函数操作mysql5.7数据库

    2024-01-13 01:08:40
  • SQLServer Execpt和not in 性能区别

    2024-01-21 23:33:46
  • mysql表的性能提升的相关问题

    2010-03-03 16:31:00
  • 网站LOGO设计规范的思考--2.网络LOGO的设计

    2007-10-14 11:02:00
  • Python多进程通信Queue、Pipe、Value、Array实例

    2023-04-08 03:25:55
  • Pytorch通过保存为ONNX模型转TensorRT5的实现

    2023-10-22 13:45:27
  • 浅析JSON序列化与反序列化

    2024-03-22 12:50:05
  • Python深度学习之FastText实现文本分类详解

    2022-09-03 10:35:28
  • vue3动态加载对话框的方法实例

    2024-05-09 15:16:55
  • mssqlserver恢复ldf文件数据的方法

    2024-01-22 11:06:54
  • mysql 8.0.15 winx64压缩包安装配置方法图文教程

    2024-01-23 03:00:13
  • php 多继承的几种常见实现方法示例

    2023-11-22 19:03:19
  • 浅谈python中统计计数的几种方法和Counter详解

    2023-02-22 12:24:01
  • 基于Python实现西西成语接龙小助手

    2023-04-02 22:12:04
  • pytorch 实现多个Dataloader同时训练

    2023-11-14 23:33:21
  • selenium与xpath之获取指定位置的元素的实现

    2022-01-14 12:02:35
  • 跟老齐学Python之有容乃大的list(1)

    2021-08-17 00:27:09
  • asp之家 网络编程 m.aspxhome.com