centos7安装python3.7_安装python教程

centos7安装python3.7_安装python教程文章目录前言环境&组件说明组件用途说明准备阶段安装步骤详细步骤准备安装安装Python异常处理异常信息原因分析处理方法小技巧前言工作需要,服务器不能连接外网,因此需要离线安装。推荐在线安装,参考。环境&组件说明操作系统:CentOSLinuxrelease7.4.1708(Core)操作系统安装包:CentOS-7-x86_64-Minimal-1708.isoPython版本:3.8.5pip版本:20.1.1virtualenv版本:20.4.2组件用途说

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用


前言

推荐在线安装。但工作需要,服务器不能连接外网,因此需要离线安装。


操作系统说明

操作系统:CentOS Linux release 7.4.1708 (Core)
操作系统安装包:CentOS-7-x86_64-Minimal-1708.iso

在线安装

Python版本:3.6.8
pip版本:9.0.3
virtualenv版本:20.4.2
(截至 2021年2月7日)

安装 Python 3 (默认包含 pip)

yum install python3 -y

安装完成后,验证安装情况

python3 -V
pip3 -V

升级 pip 版本(可不升级)

python3 -m pip install --upgrade pip

安装 virtualenv

pip3 install virtualenv -i https://pypi.douban.com/simple/

建立软连接

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

安装完成后,验证安装情况

virtualenv --version

PS : 如果安装研发环境中对应的 Python 版本,请 参考


离线安装

环境&组件说明

Python版本:3.8.5
pip版本:20.1.1
virtualenv版本:20.4.2

组件用途说明

pip :是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
virtualenv:就是用来为一个应用创建一套“隔离”的Python运行环境。


安装步骤

1、安装依赖:gcc、gcc-c++、zlib-devel、openssl-devel。注意:一定要先安装gcc,再安装gcc-c++。然后再安装其他,其他的没有先后顺序。
2、安装 Python 环境。

详细步骤

准备安装(搜集&下载)

1、查看 操作系统是否安装 gcc、gcc-c++ :
查看是否安装 gcc 的命令:

gcc -v

查看是否安装 gcc-c++ 的命令:

g++ -v

2、(如果已经安装 gcc ,忽略此步骤。)在 CentOS 7 的安装镜像 (CentOS-7-x86_64-Everything-1708.iso 中肯定有),packages 目录,找到安装 gcc 相关的 rpm 包,并放到一个文件夹里(命名1),列表如下(注意:不同版本的操作系统,对应的rpm版本也不同):

序号 安装包
1 cpp-4.8.5-28.el7.x86_64.rpm
2 gcc-4.8.5-28.el7.x86_64.rpm
3 glibc-2.17-222.el7.x86_64.rpm
4 glibc-common-2.17-222.el7.x86_64.rpm
5 glibc-devel-2.17-222.el7.x86_64.rpm
6 glibc-headers-2.17-222.el7.x86_64.rpm
7 kernel-headers-3.10.0-862.el7.x86_64.rpm
8 libmpc-1.0.1-3.el7.x86_64.rpm
9 mpfr-3.1.1-4.el7.x86_64.rpm

PS : 懒的找,这里有下载地址

3、(如果已经安装 gcc-c++ ,忽略此步骤。)在 CentOS 7 的安装镜像,packages 目录,找到安装 gcc-c++ 相关的 rpm 包,并放到一个文件夹里(命名2),列表如下(注意:不同版本的操作系统,对应的rpm版本也不同):

序号 安装包
1 gcc-c+±4.8.5-28.el7.x86_64.rpm
2 libstdc+±devel-4.8.5-28.el7.x86_64.rpm

PS : 懒的找,这里有下载地址

4、检查是否安装 zlib-devel (注意 : 是 zlib-devel , 不是 zlib)

rpm -qa|grep zlib-devel

5、(如果已经安装 zlib-devel ,忽略此步骤。)在 CentOS 7 的安装镜像,packages 目录,找到相关的 rpm 包,并放到一个文件夹里(命名3),列表如下(注意:不同版本的操作系统,对应的rpm版本也不同):

序号 安装包
1 zlib-devel-1.2.7-17.el7.x86_64.rpm

PS : 懒的找,这里有下载地址(包括 : zlib-devel 和 openssl-devel 及依赖)。

6、检查是否安装 openssl-devel (注意 : 有 -devel)

rpm -qa|grep openssl-devel

7、(如果已经安装 openssl-devel ,忽略此步骤。)在 CentOS 7 的安装镜像,packages 目录,找到相关的 rpm 包,并放到一个文件夹里(命名4),列表如下(注意:不同版本的操作系统,对应的rpm版本也不同):

序号 安装包
1 openssl-devel-1.0.2k-8.el7.x86_64.rpm

openssl-devel 所需要的依赖(套娃!!!)

序号 安装包
1 keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
2 krb5-devel-1.15.1-8.el7.x86_64.rpm
3 libcom_err-devel-1.42.9-10.el7.x86_64.rpm
4 libkadm5-1.15.1-8.el7.x86_64.rpm
5 libselinux-devel-2.5-11.el7.x86_64.rpm
6 libverto-devel-0.2.5-4.el7.x86_64.rpm

8、下载离线安装包,放到文件夹1、2、3、4的同级目录:
Python-3.8.5.tar.xz

9、下载离线安装文件 virtualenv 及其依赖

序号 安装包
1 virtualenv-20.4.2-py2.py3-none-any.whl

virtualenv 的依赖

序号 安装包
1 appdirs-1.4.4-py2.py3-none-any.whl
2 distlib-0.3.1-py2.py3-none-any.whl
3 filelock-3.0.12-py3-none-any.whl
4 six-1.15.0-py2.py3-none-any.whl

安装依赖

1、安装 gcc (如果已经安装 gcc ,忽略此步骤。):
进入到文件夹1

rpm -Uvh *.rpm --nodeps --force

确认安装情况

gcc -v

2、安装 gcc-c++ (如果已经安装 gcc-c++ ,忽略此步骤。):
进入到文件夹2

rpm -Uvh *.rpm --nodeps --force

确认安装情况

g++ -v

3、安装 zlib-devel (如果已经安装,忽略此步骤):
进入到文件夹3

rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm

确认安装情况

rpm -qa|grep zlib-devel

4、安装 openssl-devel 及其依赖(如果已经安装,忽略此步骤):
进入到文件夹4

rpm -Uvh *.rpm --nodeps --force

确认安装情况

rpm -qa|grep openssl-devel

安装 Python

上传,将文件 Python-3.8.5.tar.xz 解压为 Python-3.8.5.tar :

xz -d Python-3.8.5.tar.xz

将文件 Python-3.8.5.tar 解压为文件夹 Python-3.8.5 :

tar -xf Python-3.8.5.tar

进入文件夹

cd Python-3.8.5

配置安装路径(注意参数 –with-ssl ,如果不加,在使用 pip 和 virtualenv 时,会报错。使用这个的前提是安装了 openssl-devel):

./configure --prefix=/usr/local/python3 --with-ssl

编译、安装:

make && make altinstall

安装完成之后 建立软链接 添加变量 方便在终端中直接使用 python 3

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

Python 3 安装完成之后 pip 3 也一块安装完成,不需要再单独安装.一样建立软链接:

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

测试是否安装成功

python3 -V
pip3 -V

安装 virtualenv

安装 virtualenv 依赖

pip3 install distlib-0.3.1-py2.py3-none-any.whl six-1.15.0-py2.py3-none-any.whl appdirs-1.4.4-py2.py3-none-any.whl filelock-3.0.12-py3-none-any.whl

安装 virtualenv

pip3 install virtualenv-20.4.2-py2.py3-none-any.whl

软连接

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

验证安装情况

virtualenv --version

异常处理

异常信息

ModuleNotFoundError: No module named '_ctypes'

原因分析

由于在 CentOS 7 系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在 pip 安装的时候就报了 “ModuleNotFoundError: No module named ‘_ctypes’” 的错误

处理方法

安装外部函数库 ( libffi )

在 CentOS 7 的安装镜像,packages 目录,找到文件 libffi-devel-3.0.13-18.el7.x86_64.rpm, 安装命令如下

rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm

重新安装 python , 进入安装目录

make && make altinstall

用 pip3 Install 重新安装所需要的包

pip3 install SomeProject

小技巧

如何查找离线安装的依赖及安装顺序?
找个在线安装的环境,安装 *.whl ,可以查看到依赖情况,然后去下载所需依赖 *.whl ;
注意 : 需要按照顺序安装。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189777.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • oracle 用户赋权_oracle数据库创建只读用户

    oracle 用户赋权_oracle数据库创建只读用户ORACLE创建用户赋予权限删除用户oracle数据库的权限系统分为系统权限与对象权限。一.ORACLE默认管理员密码二.创建用户及密码。三.赋予权限。oracle数据库的权限系统分为系统权限与对象权限。系统权限(databasesystemprivilege)可以让用户执行特定的命令集。例如,createtable权限允许用户创建表,grantanyprivilege权限允许用户授予任何系统权限。对象权限(databaseobjectprivilege)可以让用户能

    2022年10月29日
  • 数据库concat函数

    数据库concat函数因文件改动读到老大写的代码发现该函数所以记录一下concat用法就是将数据库不同的字段串起来比如要查询nameagesex最终想出来的结果是连起来的就可以用该函数而不用再将结果拼接eg:selectid,concat(name,sex,age)asinfofromusr;这样就会输出结果info=>小明男12该函数中间可以拼接字符用来分割eg:selectid,concat(name,”,sex,”,age)…

  • 解决sql server批量插入时出现“来自数据源的String类型的给定值不能转换为指定目标列的类型nvarchar。”问题

    解决sql server批量插入时出现“来自数据源的String类型的给定值不能转换为指定目标列的类型nvarchar。”问题问题的原因:源的一个字段值长度超过了目标数据库字段的最大长度解决方法:扩大目标数据库对应字段的长度一般原因是源的字段会用空字符串填充,导致字符串长度很大,可以使用rtrim去除…

  • shell脚本之awk数组

    shell脚本之awk数组一.数组格式数组是一个包含一系列元素的表.格式如下:abc[1]=”xiaohong”abc[2]=”xiaolan”解释:abc:为数组名称[1]、[2]:为数组元素下标,可以理解为数组的第1个元素、数组的第2个元素xiaohong、xiaolan:元素值例子1:定义数组,并且打印数组元素[root@tab0~]#awk’BEGIN{a[0]=”xiaohong”;a[1]=”xiaolan”;printa[0]}’xiaohong[root@tab0~]#awk

  • C语言 最长回文子串[通俗易懂]

    C语言 最长回文子串[通俗易懂]描述:输入一个字符串,求其中最长回文子串。子串的含义是:在字符串中连续出现得字符串片段。回文的含义是,正着看和倒着看是相同的,如abba何abbebba。在判断时要求忽略所有的标点和空格,且忽略大小写。但输出时按原样输出(首尾不要输出多余的字符串).输入字符串长度大于等于1小于等于5000.且单独占一行。输入:输入一行字符串。输出:输出所要求的回文子串。样例输入:L…

  • Tomcat学习—Tomcat的端口修改和编码方式修改

    在学习使用Tomcat的时候,了解一下Tomcat的默认端口修改和默认编码方式修改,方便以后更深入的学习。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号