Ubuntu 18.04 升级 Python3;以Python3.8为例

这篇具有很好参考价值的文章主要介绍了Ubuntu 18.04 升级 Python3;以Python3.8为例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求

Ubuntu 18.04 默认的Python3版本为Python3.6,我们想将其升级为Python3.8.

⚠️警告

Python3升级后会破坏原先Ubuntu系统上的某些Python3依赖,升级前请务必考虑清楚。遇到问题后,可以参考文末方法解决。

达成的效果

  • 以所有普通用户或root用户,在终端或脚本中运行python3时,会运行python3.8解释器

  • 以所有普通用户或root用户,在终端或脚本中运行pip或pip3时,会运行pip3.8包管理器

  • 升级只会影响系统中的python3、pip3与pip命令。

  • 升级不会影响到系统中的python命令与python2命令,也不会影响pip2命令。

升级步骤

允许使用更多Apt官方源

某些定制化的Ubuntu18.04系统中,只允许用户(使用Apt)安装来自main仓库的软件包。
但是Python3.8位于universe仓库,我们需要将其添加至Apt源。

安装add-apt-repository工具,这是一个将新仓库添加进Apt源的工具

sudo apt install software-properties-common

将universe仓库添加进Apt源

sudo add-apt-repository universe
sudo apt update

源更新完毕后,我们就可以通过apt来安装Python3.8了。

安装Python3.8与相关库、头文件

安装Python3.8解释器

sudo apt install python3.8

安装相关开发库与头文件

sudo apt install libpython3.8-dev

将Python3.8设置为默认Python3解释器

参考:https://unix.stackexchange.com/a/410851

将刚刚安装的Python3.8解释器添加到系统Python3解释器的备选替代中

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

将系统原装的Python3.6解释器添加到系统Python3解释器的备选替代中

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

展示系统Python3解释器所有可选的版本

sudo update-alternatives --config python3

输入数字后回车,将系统默认的Python3解释器设置为你需要的Python3.8版本。

  • 执行python3 --version命令,此时应当输出Python3.8的版本信息。
  • 执行sudo python3 --version命令,此时应当输出Python3.8的版本信息。

重启后测试一下sudo apt install命令是否正常工作。

安装Pip3.8包管理器

目前笔者没有找到包含python3.8-pip的Apt源。
Python Packaging Authority(pypa)组织提供了安装Pip的离线脚本,用户将脚本下载后,可以在本地运行脚本安装Pip。

切换到root用户,我们希望进行系统级别安装

su -l

下载pip安装脚本,安装Pip3.8包管理器

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.8 get-pip.py

安装完毕后切换回普通用户

  • 执行pip3 --version命令,此时应当输出适用于Python3.8的包管理器信息。
  • 执行sudo pip3 --version命令,此时应当输出适用于Python3.8的包管理器信息。

问题解决

netplan 工具执行失败

netplan是Ubuntu上的网络管理前端,依赖于Python3解释器。我们升级Python3解释器后,在执行netplan命令后可能会出现如下错误

Traceback (most recent call last): File “/usr/sbin/netplan”, line
23, in
netplan.main() File “/usr/share/netplan/netplan/cli/core.py”, line 42, in main
self.parse_args() File “/usr/share/netplan/netplan/cli/core.py”, line 35, in parse_args
import netplan.cli.commands File “/usr/share/netplan/netplan/cli/commands/init.py”, line 18, in

from netplan.cli.commands.apply import NetplanApply File “/usr/share/netplan/netplan/cli/commands/apply.py”, line 29, in

import netifaces ModuleNotFoundError: No module named ‘netifaces’

错误原因:找不到属于Python3.8的netifaces模块。

su -l
pip3 install --ignore-installed netifaces pyyaml
exit

gnome-terminal 图形终端模拟器打开失败

在图形界面点击终端图标,报错信息:

Failed to execute default Terminal Emulator. Input/output error.

用开启X11转发的SSH终端单独运行gnome-terminal命令,报错信息:

ImportError: cannot import name ‘_gi’ from partially initialized module ‘gi’ (most likely due to a circular import)

错误原因:找不到属于Python3.8的gi模块。
解决方法:https://stackoverflow.com/a/60352723/15283141文章来源地址https://www.toymoban.com/news/detail-724918.html

su -l
apt install pkg-config libcairo2-dev libgirepository1.0-dev
pip3.8 install --ignore-installed PyGObject
exit

到了这里,关于Ubuntu 18.04 升级 Python3;以Python3.8为例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu系统升级16.04升级18.04

      作为Linux发行版中的后起之秀,Ubuntu 在短短几年时间里便迅速成长为从Linux初学者到实验室用计算机/服务器都适合使用的发行版,目前官网最新版本是22.04。Ubuntu16.04是2016年4月发行的版本,于2019年4月停止更新维护。很多软件支持的Ubuntu最早版本也是18.04,所以考虑对现有

    2024年01月20日
    浏览(54)
  • 【CMake】 Ubuntu 18.04中的cmake升级

    不需要卸载删除ubuntu原有的cmake。 Cmake下载网址: https://cmake.org/download/ 1、下载cmake压缩包。 2、建立软链接覆盖系统原来的cmake。 可以在官网下载,也可以使用wget命令下载。

    2024年02月16日
    浏览(44)
  • Ubuntu16.04升级到18.04--检查更新时出现问题--解决方法

    一开始装Ubuntu时装的是16.04,后来装cuda时,发现核是4.15的,需要升级到18.04,于是输入 sudo do-release-upgrade 更新时,发现错误: google后发现帖子: https://askubuntu.com/questions/1127896/failed-upgrade-from-17-10-to-18-04-no-module-named-distupgrade-distupgradever 想到先前曾经装过python3.7,代替了原装的

    2024年02月01日
    浏览(44)
  • ubuntu18.04内核升级(使用编译的方法达到内核6.1.62)

    自己的电脑是22年买的thinkbook16+,乘着今年双11给它加了一个外接显卡,在windows上能成功识别并使用,但是在ubuntu18.04上因为无法识别出雷电接口,所以无法使用。后来换成20.04的版本竟然又可以,比较两者的区别后,初步推测是内核版本稍低,遂尝试升级内核,已验证自己的

    2024年02月04日
    浏览(48)
  • Ubuntu 18.04升级GLIBC2.27为GLIBC2.29

    1. 查看当前版本         ubuntu18.04本身的GLIBC版本是2.27可以通过下面这句指令查看  2. 下载GLIBC2.29         接下来的过程进入超级管理员模式进行 3. 解压并创建对应文件夹 4. 编译安装 5. 建立软链接         上面指令是在新终端中查看当前的链接,会发现libm.so.6--li

    2024年02月02日
    浏览(49)
  • ubuntu 22.04安装python3.8

    ubuntu 22.04 如果直接安装python3,装的是python3.10,但现在某外部程序依赖python3.8,所以需要另外安装。 网上常见方法是add-apt-repository添加 ppa:deadsnakes 源,但这样会导致同时安装python3.8和python3.10,会同时安装一大堆不需要用到的包。 命令如下: 更推荐以下安装方法,不安装s

    2024年02月13日
    浏览(44)
  • ubuntu 22.04 安装python3.8

    千万千万不要卸载 系统自带的 python 卸载了也不要怕 python 3.18 python 3.10 加入 update-alternatives

    2024年02月14日
    浏览(41)
  • WSL ubuntu 20.04 安装python3

    直接通过命令行安装python sudo apt-get install python3 在/usr/bin目录下查看所有python版本 同时需要在系统路径中加入软链接,将默认的python定向到python3上: sudo ln -s /usr/bin/python3.6 /usr/bin/python

    2024年02月12日
    浏览(52)
  • ubuntu16.04下编译安装python3.10

    1、安装依赖库 sudo apt install libffi-dev sudo apt install libgdbm-dev 2、编译安装openssl(下载最新版本源码即可) 安装完成后,建立软连接(如果可以正常运行,不需要建立): sudo ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1 sudo ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1 3、编译

    2024年02月11日
    浏览(53)
  • 在 ubuntu 18.04 上使用源码升级 OpenSSH_7.6p1到 OpenSSH_9.3p1

    1、检查系统已安装的当前 SSH 版本 使用命令 ssh -V 查看当前 ssh 版本,输出如下: 2、安装依赖,依次执行以下命令 sudo apt update sudo apt install build-essential zlib1g-dev libssl-dev 3、设置环境 为了创建一个合适的环境来安装 OpenSSH 服务,需要创建一个安装环境 sudo mkdir /var/lib/sshd sudo

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包