快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)

简介: 这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。

一. linux安装python3.x

下面案例是安装python3.9 步骤,也可以指定其他版本安装

重要!!! python3.11.x请参考 :linux centos上安装python3.11.x详细完整教程

步骤1:安装系统依赖(重要)

这一步不执行,后面各种错误。

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 python3-devel libffi-devel
AI 代码解读
步骤2:下载源码并解压:
# 下载源码
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz

# 解压
tar -zxvf Python-3.9.0.tgz

cd Python-3.9.0
AI 代码解读
步骤3:编译安装

指定安装目录为/opt/python39

./configure --prefix=/opt/python39 
make && make install
AI 代码解读
步骤4:修改环境变量和验证

追加到PATH中,执行 vim /etc/profile 中追加

export PATH=/opt/python39/bin:$PATH
AI 代码解读

修改完成之后激活:source /etc/profile

最后,版本号验证

python3 --version
pip3 --version
AI 代码解读

在这里插入图片描述

二. 报错汇总

报错1
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for python3.9... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "linux"
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root/Python-3.9.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
AI 代码解读

解决方案:
查看得知未安装合适的编译器。

sudo yum install gcc-c++
AI 代码解读

(使用sudo yum install gcc-c++时会自动安装/升级gcc及其他依赖的包。)

重新执行: ./configure, 即可成功!

报错2

输入pip3 list , 出现下面情况时:

-bash: pip3: 未找到命令
AI 代码解读

先安装扩展源EPEL,yum -y install epel-release , 这个扩展源提供了很多软件包的下载。

安装 pip3
Centos系统:yum install python3-pip -y
Ubuntu等系统:sudo apt install python3-pip -y

升级pip3可用指令:pip3 install --upgrade pip

报错3 安装过Python3的其他版本

更改python3和pip3的指向即可。或者先卸载之前的python3,再安装新版本的python3

# 删除原先的Python3和pip3
rm -rf /usr/bin/python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
rm -rf /usr/bin/pip3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /opt/python39/bin/pip3 /usr/local/bin/pip3

ln -s /opt/python39/lib/python3.9/site-packages/pip /usr/local/bin/pip3
AI 代码解读

三. 其它

1. 查看是否安装: which python
2. 确定安装目录: 此处安装在:/opt/python3目录
3. 安装依赖:
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
AI 代码解读
4. 下载安装包
cd /opt/software/   

wget  https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
AI 代码解读
5. 解压压缩包并安装
1. 解压  
    tar  -xvf Python-3.9.13.tgz   
2. 进入解压的文件夹  
    cd   Python-3.9.13  
3. 执行初始化,配置安装路径  
    ./configure prefix=/opt/python3  
4. 执行编译安装  
    make   
    make install

5. 添加环境变量:  
    vim  /etc/profile  
    export PATH=/opt/python3/bin:$PATH  

    source /etc/profile
AI 代码解读
6. 添加软连接
[root@ec-new-app opt]# ln -s /opt/python3/bin/python3.9 /usr/bin/python3
[root@ec-new-app opt]# ln -s /opt/python3/bin/pip3.9 /usr/bin/pip3
[root@ec-new-app opt]# python3  -V
Python 3.9.13
[root@ec-new-app opt]# pip3  -V
pip 22.0.4 from /opt/python3/lib/python3.9/site-packages/pip (python 3.9)
AI 代码解读

能返回版本号就说明已经安装完成了!!

# 查看软连接指向
[root@ec-new-app opt]# ll /usr/bin/ |grep python
-rwxr-xr-x.   1 root root       11232 Aug 13  2019 abrt-action-analyze-python
lrwxrwxrwx    1 root root          23 May 23 17:09 pip3 -> /opt/python3/bin/pip3.9
lrwxrwxrwx.   1 root root           7 Jun 10  2022 python -> python2
lrwxrwxrwx.   1 root root           9 Jun 10  2022 python2 -> python2.7
-rwxr-xr-x.   1 root root        7216 Aug  7  2019 python2.7
lrwxrwxrwx    1 root root          26 May 23 17:07 python3 -> /opt/python3/bin/python3.9

[root@ec-new-app opt]# ll /usr/bin/ |grep pip
-rwxr-xr-x.   1 root root        2291 Jul 31  2015 lesspipe.sh
lrwxrwxrwx    1 root root          23 May 23 17:09 pip3 -> /opt/python3/bin/pip3.9
AI 代码解读

附:卸载python3
1、进入源码目录:cd /path/to/python3/source
2、清理安装的文件:make clean
3、卸载python3:make uninstall
或者
1、卸载python3:rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps 卸载pyhton3
2、whereis python3 |xargs rm -frv 删除所有残余文件。成功卸载!
3、whereis python 查看现有安装的python

若重新安装更高版本,则进入:https://www.python.org/ftp/python/ 选择更高版本即可。

目录
打赏
0
1
1
0
70
分享
相关文章
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
510 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
12天前
|
Linux 安装 Qualcomm ® SnapdragonTM Profiler
通过本文的详细介绍,您应该已经成功在 Linux 系统上安装并配置了 Qualcomm® Snapdragon™ Profiler,并能够连接 Android 设备进行性能分析。Snapdragon Profiler 提供了丰富的工具和功能,可以帮助开发者深入了解应用程序的性能瓶颈,从而进行优化。希望本文能对您有所帮助,让您在开发过程中更高效地使用 Snapdragon Profiler 进行性能分析和优化。
47 10
|
14天前
|
Linux安装svn并启动
Linux安装svn并启动
49 10
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
74 20
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
75 7
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
228 7
centos7内网离线安装face_recognition、python、pip、CMake、dlib,离线升级gcc/切换gcc,文末有face_recognition的docker版本
公司项目需要人脸识别,本来app自带人脸识别,结果api支持的设备试了一圈就一个同事的华为Mate40Pro可以,所以使用无望。接着找了一下免费的java离线人脸识别sdk,发现虹软的确实简单好用,一会就在linux上弄好并测试通过了,然而在准备集成进去开写代码时,不小心看到了一眼首次激活需联网,后续方可离线使用,好吧,我们内网机器首次都不可能的,接着看了下离线激活方法,首先需要企业认证,这一步我们肯定没法做的,毕竟不是之前的小公司了,营业执照啥的随便给我肯定不行,直接放弃了。后来在同事推荐下看了下face_recognition这个项目,之前基本没用过python,于是有了漫长的踩坑之旅。
797 1
Python升级tensorflow2.x版本相关问题:No module named ‘tensorflow.contrib‘ 问题解决
Python升级tensorflow2.x版本相关问题:No module named ‘tensorflow.contrib‘ 问题解决
337 0