原因是缺少安装包libreadline-dev
第一步安装libreadline-dev包:sudo apt-get install libreadline-dev(centos安装:yum -y install readline-devel);
第二步以源码编译的方式安装Python 3.7。
https://blog.csdn.net/xietansheng/article/details/84791703
1.下载 Python 3.7
$ wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
2. 安装 Python 3.7
2.1 解压源码包
tar -xvf Python-3.7.2.tar.xz
2.2 安装所需要的 编译器 和 依赖
# 更新安装源(Source)
sudo apt-get update
# 同时安装多个软件包(已安装的会自动忽略), -y 表示对所有询问都回答 Yes
sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
2.3 编译安装(安装到 /usr/bin/python3.7)
# 创建安装目录 sudo mkdir /usr/bin/python3.7
# 进入 解压后的源码文件夹 cd Python-3.7.2
# 配置, 检查安装环境, 生成 Makefile 文件, 指定安装到 /usr/bin/python3.7 sudo ./configure --enable-optimizations --prefix=/usr/bin/python3.7
# 编译和安装(需要一段时间, 耐心等待) sudo make && make install
- ./configure 时如果报错没有生成 Makefile 文件,根据报错信息安装相应的编译器或依赖,再重新执行;
- make && make install 时如果还需要其他依赖,根据报错信息逐一安装依赖后再重新执行。
2.4 查看安装结果
安装后的目录:
/usr/python3
├── bin
│ ├── python3
│ ├── pip3
│ └── ...
├── lib
│ └── ...
├── include
│ └── ...
└── share
└── ...
# 进入 python3 的 bin 目录
cd /usr/bin/python3.7/bin
# 查看 python3 的版本
./python3.7 -V
./pip3 -V
3. 添加 Python 环境变量
为了方便并优先使用 Python 3.7 的命令,把/usr/python3/bin目录添加到 PATH。
打开全局环境变量配置文件
sudo vim /etc/profile
添加下面代码到/etc/profile配置文件
# 把 /usr/bin/python3.7/bin 放在前面, 优先使用里面的命令
export PATH=/usr/bin/python3.7/bin:$PATH
执行 source 命令,让刚配置的环境变量立即生效
source /etc/profile
在任意目录下查看版本
python3 -V
pip3 -V