当前位置: 首页 > news >正文

Linux安装python3

1.安装python3

1.1.下载python3

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

1.2.创建/usr/local/python3目录

mkdir -p /usr/local/python3

ps:可根据个人喜好设置目录

1.3.解压python包

tar -zxf Python-3.6.8.tgz

1.4.编译安装zlib

cd Modules/zlib
./configure
make install

ps:如果不安装zlib,会出现后文中提到的错误2

1.5.编译python

cd Python-3.6.1
./configure --prefix=/usr/local/python3

--prefix=/usr/local/python3是将python包编译到步骤2创建的目录中。

1.6.安装python3

make && make install

1.7.添加环境变量

在文件~/.bash_profilePATH变量后面添加/usr/local/python3/bin,类似

PATH=$PATH:$HOME/bin:/usr/local/python3/bin
export PATH

添加环境变量后,保存退出,运行source命令使其立即生效
/usr/local/python3/bin,类似

source ~/.bash_profile

1.8.验证python及pip

[root@localhost python3]# python3 -V
Python 3.6.8
[root@localhost python3]# pip3 -V
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)

如果需要将pip3改为pip(毕竟安装python包的时候,习惯于pip install package这种形式),则需要将建立软连接

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

ps:将pip命令指向/usr/local/python3/bin/pip3
修改后,我们就可以用pip install package来安装包了。

2.可能错误与警告

错误1

subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.

解决方法

find / -name lsb_release
rm -rf /usr/bin/lsb_release

错误2

zipimport.ZipImportError: can't decompress data; zlib not available(https://www.cnblogs.com/paul8339/p/11595724.html)

解决方法

cd Modules/zlib
./configure
make  install

错误3

ImportError: cannot import name HTTPSHandler

原因在于openssl,openssl-devel两个文件包未正确安装
解决方法

yum install openssl -y
yum install openssl-devel -y

安装完成后,重新编译并安装python:

cd Python-3.6.1
./configure --prefix=/usr/local/python3
make && make install

错误4

Can't connect to HTTPS URL because the SSL module is not available.

原因在于opensslopenssl-devel两个文件包未正确安装。
用下来的命令来安装:

yum install openssl -y
yum install openssl-devel -y

安装完成后,重新执行安装步骤1.4~1.6。

错误5

ImportError: cannot import name HTTPSHandler

原因与错误4相同,参考错误4解决方案。

错误6

ModuleNotFoundError: No module named '_bz2'

缺少_bz2.cpython-36m-x86_64-linux-gnu.so文件,下载该文件,并将其放于/usr/local/python3/lib/python3.6/lib-dynload/目录下即可
注1:安装目录需要根据自己的实际情况来调整。
注2:如果是python3.7版本,则需要将文件名改为_bz2.cpython-37m-x86_64-linux-gnu.so
提供该文件的百度云链接
链接: https://pan.baidu.com/s/1HQA_tD5INwihCR5M_ckULA
提取码: ujjn

警告1

pip list命令时,出现如下错误

DEPRECATION: The default format will switch to columns in the future. 
You can use --format=(legacy|columns)(or define a format=(legacy|columns) in your pip.conf under the [list]

解决方法
1.先确保你在~/.pip 目录下有文件pip.conf
如果没有就创建这个文件:vim ~/.pip/pip.conf
2.在pip.conf文件里面加入代码:

[list] 
format=columns

添加后,再次运行pip list,该警告就会消失,而且结果显示很友好。

问题1

在Python命令行中输入退格出现^H
解决方法
安装 libreadline-dev 后重新 make && make install Python安装包

apt-get install libreadline-dev
CentOS: yum install readline-devel
Debain: apt-get install libreadline-dev
最后编辑于:2025-04-21 11:16:29


喜欢的朋友记得点赞、收藏、关注哦!!!

http://www.xdnf.cn/news/387073.html

相关文章:

  • HTML难点小记:一些简单标签的使用逻辑和实用化
  • Linux基础(查找/打包/压缩文件)
  • 基于 PostgreSQL 的 ABP vNext + ShardingCore 分库分表实战
  • 机器人手臂“听不懂“指令?Ethercat转PROFINET网关妙解通信僵局
  • 大数据时代的安全挑战——数据泄露如何悄然发生?
  • Kubernetes排错(十五):节点NotReady故障排查处理
  • MySQL基础面试题集锦
  • 【第三十五周】Janus-pro 技术报告阅读笔记
  • 实战项目4(05)
  • 《用MATLAB玩转游戏开发》Flappy Bird:小鸟飞行大战MATLAB趣味实现
  • C++内存管理详解
  • 互联网大厂Java求职面试实战:Spring Boot到微服务的技术问答解析
  • 《Redis应用实例》学习笔记,第二章:缓存二进制数据
  • “多端多接口多向传导”空战数据链体系——从异构融合架构到抗毁弹性网络的系统性设计
  • [工具]B站缓存工具箱 (By 郭逍遥)
  • MyBatis源码解读5(3.1、缓存简介)
  • 常见的排序算法(Java版)简单易懂好上手!!
  • path环境变量满了如何处理,分割 PATH 到 Path1 和 Path2
  • Java高频面试之并发编程-15
  • ES常识5:主分词器、子字段分词器
  • 嵌入式硬件篇---CAN
  • 【Mac 从 0 到 1 保姆级配置教程 12】- 安装配置万能的编辑器 VSCode 以及常用插件
  • Spring框架(2)---AOP
  • 鱼眼相机生成-BEV鸟瞰图-入门教程
  • Nginx yum 安装
  • 从数据处理到模型训练:深度解析 Python 中的数据结构与操作实践
  • Unity3D仿星露谷物语开发42之粒子系统
  • 使用FastAPI和React以及MongoDB构建全栈Web应用05 FastAPI快速入门
  • Problem C: 异常1
  • 在Java项目中实现本地语音识别与热点检测,并集成阿里云智能语音服务(优化版)