原因是缺少安装包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

python 3.7 方向键乱码的更多相关文章

  1. python 交互模式 方向键乱码问题解决

    python交互模式下通常用向上键来找到之前执行的命令,用左右键移动光标.这很方便.但有的时候这些键在按完后却会出现乱码. 本文只解决CentOS 6.4 下 python2.7.8 的乱码问题. 这 ...

  2. python matplotlib 中文显示乱码设置

    python matplotlib 中文显示乱码设置 原因:是matplotlib库中没有中文字体.1 解决方案:1.进入C:\Anaconda64\Lib\site-packages\matplot ...

  3. python json.dumps() 中文乱码问题

    python json.dumps() 中文乱码问题   python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成as ...

  4. ubuntu 下使用vi时方向键乱码,退格键不能使用

    ubuntu 下使用vi时方向键乱码,退格键不能使用的解决方法 问题表现:Ubuntu下,初始使用vi,编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现A B C D 之类的字母,并且 ...

  5. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...

  6. 解决Python交叉编译后,键盘方向键乱码的问题

    参考 http://www.alliedjeep.com/38071.htm https://www.zhihu.com/question/21518507 http://professor.blog ...

  7. 【python之路2】CMD中执行python程序中文显示乱码

    在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...

  8. Python 抓取网页乱码问题 以及EXCEL乱码

    import codecs f1=codecs.open('items.json', 'r', encoding='utf-8').read().decode("unicode_escape ...

  9. 关于python使用list出现乱码的解决

    昨天在敲python的一个小实例的时候,用到了readlines()这个函数,但是将文件读出来的时候是乱码,也并不是完全乱码,只是中文出现了乱码,数字还是显示正常的,同时也不报错.源码以及文件截图如下 ...

随机推荐

  1. Linux小脚本

    将固定的换包步骤,做成脚本replacePackage.sh,赋予执行权限(chmod +x   replacePackage.sh).这样小小自动化也能节约时间呀. replacePackage.s ...

  2. iot-hub物管理bug

    物管理中,物绑定证书,如果证书被删除,将会出错 初始化用到 证书编码,证书为null时,null.code报错

  3. word2vec训练出来的相似词歧义

    [问题]word2vec训练以后,得到预付卡和购物卡非常接近,可是实际上这两个东西是不一样的,如何区分这两个东西? 解决:建立一个独立词典,这个词典里的词是没有近义词的,独立的词,比如预付卡是很独特的 ...

  4. JS控制文本框只能输入数字 \保留小数点后两位

    <input type="text" placeholder="保留到小数点后两位" maxlength="200" onkeyup= ...

  5. python Rpyc简单使用

    客户端可以直接调用服务端代码. rpycserver #!/usr/bin/env python #coding:utf-8 from rpyc.core.service import SlaveSe ...

  6. python进阶(六) 虚拟环境git clone报错解决办法

    在虚拟环境目录,进行git clone xxxxx.git  项目,报如下图错误 解决办法:env GIT_SSL_NO_VERIFY=true git clone xxxx.git

  7. codeforces 185A Plant(推公式)

    Plant [题目链接]Plant [题目类型]推公式 &题解: 这个是可以推公式的: 每年的总个数是4^n个,设n年时向上的个数是x个,向下的个数是y个,那么n+1年时,向上的个数是3* x ...

  8. Hibernate.基础篇《一》.Hibernate工具类.

    Hibernate.基础篇<一>.Hibernate工具类. 话述: Hibernate.基础篇第一篇,前面是代码.后面再加理论&实践. Hibernate使用的版本是:5.x,在 ...

  9. DataGridView控件用法一:数据绑定

    使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据. 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可.在绑 ...

  10. C# 5.0五大新特性

    第一:绑定运算符,:=: 这个只是简化了数据绑定,跟ASP.NET MVC3不断改进一样,其实不是什么亮点改进. comboBox1.Text :=: textBox1.Text; //将文本框的内容 ...