ubuntu安装python3.7,并更新python默认指向为python3.7

ubuntu安装python3.7,并更新python默认指向为python3.7ubuntu默认带着的python版本不是最新版,因此需要手动安装最新版。查看python的指向。ls-l/usr/bin|greppython可以看到,此时python指向的是python3.4。第一部分:安装python3.71.直接使用apt-get安装python3.7失败:apt-getinstallpython3.72.改为手动安装…

大家好,又见面了,我是你们的朋友全栈君。

ubuntu默认带着的python版本不是最新版,因此需要手动安装最新版。

查看python的指向

ls -l /usr/bin | grep python

可以看到,此时python指向的是python3.4。

ubuntu安装python3.7,并更新python默认指向为python3.7

第一部分:安装python3.7

1.直接使用apt-get安装python3.7失败:

apt-get install python3.7

ubuntu安装python3.7,并更新python默认指向为python3.7

2.改为手动安装

步骤1:在python官网找到python-3.7.1.tgz的地址:https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

步骤2:下载安装包

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

ubuntu安装python3.7,并更新python默认指向为python3.7

步骤3:解压安装包

tar -zxvf Python-3.7.1.tgz

ubuntu安装python3.7,并更新python默认指向为python3.7

步骤4:切换到解压后的目录下

cd Python-3.7.1

步骤5:./configure(也可以./configure –prefix=/usr/local/python3.7.1)

./configure
# 或者
./configure --prefix=/usr/local/python3.7.1

ubuntu安装python3.7,并更新python默认指向为python3.7

步骤6:编译make(没有安装make的安装一下)

make

步骤7:测试make test

make test

关于make test命令出现ModuleNotFoundError: No module named ‘_ctypes’ 错误,请移步我的另外一篇博文https://blog.csdn.net/u014775723/article/details/85224447

步骤8:安装sudo make install

sudo make install

若步骤5执行的是 ./configure,则安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/include,其它的资源文件放在/usr /local/share。

若步骤5执行的是./configure –prefix=/usr/local/python3.7.1,则可执行文件放在/usr /local/python3.7.1/bin,库文件放在/usr/local/python3.7.1/lib,配置文件放在/usr/local/python3.7.1/include,其它的资源文件放在/usr /local/python3.7.1/share

步骤9:若步骤5执行./configure –prefix=/usr/local/python3.7.1,则需要添加环境变量。步骤5是./configure的跳过此步骤

添加环境变量

PATH=$PATH:$HOME/bin:/usr/local/python3.7.1/bin

查看环境变量

echo $PATH

步骤10:查看安装目录

可以看到此时python3.7安装到了/usr/local/lib/(若步骤5执行./configure –prefix=/usr/local/python3.7.1,python3.7安装到了/usr/local/python3.7.1/lib/)

ubuntu安装python3.7,并更新python默认指向为python3.7

步骤11:测试,输入python3.7

ubuntu安装python3.7,并更新python默认指向为python3.7

第二部分:更新python默认指向为python3.7

步骤1:查看python命令指向

ls -l /usr/bin | grep python

ubuntu安装python3.7,并更新python默认指向为python3.7

步骤2:若如步骤1的图,若要安装python3.4则,由于python3.4为系统自带的,直接使用以下命令并跳过步骤3:

删除原有链接

rm /usr/bin/python 

建立新链接

ln -s /usr/bin/python3.4 /usr/bin/python

 

骤3:由于python3.7是自己安装的,不在/usr/bin下,而在usr/local/bin或者/usr/local/python3.7.1/bin下(取决于前面执行的./configure还是./configure –prefix=/usr/local/python3.7.1。因此需要先加一条软链接并且把之前的python命令改为python.bak,同时pip也需要更改。依次执行以下命令

ubuntu安装python3.7,并更新python默认指向为python3.7

若python3.7安装时,执行的是./configure,则:

mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
mv /usr/bin/pip /usr/bin/pip.bak
ln -s /usr/local/bin/pip3 /usr/bin/pip

若python3.7安装时,执行的是./configure –prefix=/usr/local/python3.7.1,则为:

mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/python3.7.1/bin/python3.7 /usr/bin/python
mv /usr/bin/pip /usr/bin/pip.bak
ln -s /usr/local/python3.7.1/bin/pip3 /usr/bin/pip

 步骤4:此时输入python验证

ubuntu安装python3.7,并更新python默认指向为python3.7

参考:

https://blog.csdn.net/u013214212/article/details/81540840

https://www.jianshu.com/p/2a5cd519e583

https://www.cnblogs.com/yhongji/p/9383857.html

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152414.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++的就业,和发展方向

    C++的就业,和发展方向原文:C/C++的就业,发展方向_LoongChang_新浪博客http://blog.sina.com.cn/s/blog_78b2ae1c0101d4o9.htmlC++学习路线从学习C++到现在已经有四个年头了,但是从来没有很深入学习,有人说C++是面向对象的编程语言,但是我在这里想说的是,C++是一个多泛型的编程语言,它既可以面向过程,比如我们完全可以用C++写C的代码,这是没问题…

    2022年6月7日
    37
  • 网站开发html_网页基础代码大全

    网站开发html_网页基础代码大全网页的标准是W3C,目前模式是HTML、CSS和JavaScript。HTML标签<!DOCTYPEHTML>是文档声明,必须写在HTML文档的第一行,位于<html>

    2022年8月2日
    2
  • 手机APP测试(测试点、测试流程、功能测试)

    手机APP测试(测试点、测试流程、功能测试)1、功能测试1.1启动APP安装完成后,是否可以正常打开,稳定运行APP的速度是可以让人接受,切换是否流畅网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生

    2022年7月3日
    28
  • 获取@ApiModelProperty注解的value与对应的类属性名

    获取@ApiModelProperty注解的value与对应的类属性名目标类 代码实现 publicclassT publicstatic String args Propertiesdi getApiModelP com tfjybj msg model DingLinkMess System out println dingLinkMess pu

    2025年7月8日
    0
  • redis击穿,穿透,雪崩以及解决方案「建议收藏」

    redis击穿,穿透,雪崩以及解决方案「建议收藏」1击穿:指的是单个key在缓存中查不到,去数据库查询,这样如果数据量不大或者并发不大的话是没有什么问题的。如果数据库数据量大并且是高并发的情况下那么就可能会造成数据库压力过大而崩溃注意:这里指的是单个key发生高并发!!!解决方案:1)通过synchronized+双重检查机制:某个key只让一个线程查询,阻塞其它线程在同步块中,继续判断检查,保证不…

    2022年9月14日
    1
  • TVS(瞬态抑制二极管)、Schottky(肖特基二极管)、Zener (齐纳二极管,也称稳压二极管)主要特点及区别和使用[通俗易懂]

    TVS(瞬态抑制二极管)、Schottky(肖特基二极管)、Zener (齐纳二极管,也称稳压二极管)主要特点及区别和使用[通俗易懂]1.简单介绍TVSTVS(TransientVoltageSuppressor)二极管,又称为瞬态抑制二极管,是普遍使用的一种新型高效电路保护器件,它具有极快的响应时间(亚纳秒级)和相当高的浪涌吸收能力。当它的两端经受瞬间的高能量冲击时,TVS能以极高的速度把两端间的阻抗值由高阻抗变为低阻抗,以吸收一个瞬间大电流,把它的两端电压箝制在一个预定的数值上,从而保护后面的电路元件不受瞬…

    2025年6月27日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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