Linux升级Python3.5到3.8问题解决汇总

本文讲述了在基于Debian/Ubuntu+Mate桌面的ARM64系统中,升级Python3.5到3.8后遇到的问题,如桌面组件异常、软件商店兼容性问题,以及如何通过修复python指向、删除过时库和重新安装pip来逐一解决这些问题的过程。
部署运行你感兴趣的模型镜像

系统是arm64的银河麒麟v10,看这样子是基于Debian/Ubuntu+Mate桌面改的,其它发行版也应该有参考意义

升级自带的Python3.5到3.8之后,出现一堆问题

问题1: 开始按钮点击没反应,文件管理器无法更改设置

/usr/bin下python,pip,是两个链接文件,原来默认是指向的python2.7,升级之后改了指向新的3.8,导致了问题。

恢复到默认的python2.7指向,问题解决。

可以看到,桌面很多组件用了pyqt开发,实在有些让人无语。

 

问题2:自带软件商店等一些软件开始无法使用。

在命令行下输入商店的命令,提示dbus问题,安装dbus到新的python3.8之中,问题仍然未解决,报错一堆,看来是不兼容。

参照问题1解决方法,同样将/usr/bin下面的python3, pip3恢复为原来的python3.5,搞定!

 

问题3:上面两个问题解决后,运行原来的python3.5自带的pip3,启动报错:

Traceback (most recent call last):
  File "/usr/bin/pip3", line 11, in <module>
    sys.exit(main())
  File "/home/neo/.local/lib/python3.5/site-packages/pip/__init__.py", line 16, in main
    from pip._internal.utils.entrypoints import _wrapper
  File "/home/neo/.local/lib/python3.5/site-packages/pip/_internal/utils/entrypoints.py", line 3, in <module>
    from pip._internal.cli.main import main
  File "/home/neo/.local/lib/python3.5/site-packages/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax
 

问题解决:

删除主目录下.local/lib/python3.5/site-packages下面pip相关的两个文件夹

如果还未解决,可以尝试重新安装pip3,注意搞清楚用python3.5重新安装即可

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 升级Python3.8的步骤 在某些Linux发行版(如CentOS 7)中,默认提供的Python版本可能较低(例如Python 3.6.8)。如果需要将Python升级3.8版本,通常需要通过源码编译安装的方式完成,因为yum仓库可能不包含所需的版本。 #### 1. 准备工作 在开始升级之前,请确保系统已经安装了必要的开发工具和依赖库。以下是一些常见的依赖项: - `gcc`:用于编译源码。 - `make`:用于执行编译脚本。 - `zlib-devel`:用于支持Python的压缩功能。 - `openssl-devel`:用于支持Python的SSL/TLS功能。 - `libffi-devel`:用于支持Python的外部函数接口。 - `bzip2-devel`:用于支持Python的bzip2压缩功能。 可以通过以下命令安装这些依赖: ```bash sudo yum groupinstall "Development Tools" sudo yum install zlib-devel bzip2-devel openssl-devel libffi-devel ``` #### 2. 下载Python源码包 从[Python官方网站](https://www.python.org/ftp/python/)下载所需的Python 3.8版本的源码包。例如,下载Python 3.8.8: ```bash wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgz ``` #### 3. 解压源码包 下载完成后,解压源码包并进入解压后的目录: ```bash tar -xzf Python-3.8.8.tgz cd Python-3.8.8 ``` #### 4. 配置编译环境 在编译之前,需要运行`configure`脚本来配置编译环境。可以指定安装路径(例如`/usr/local/python3.8`): ```bash ./configure --prefix=/usr/local/python3.8 --enable-optimizations ``` - `--prefix`:指定Python的安装路径。 - `--enable-optimizations`:启用优化选项,提升Python的性能。 #### 5. 编译并安装 运行以下命令进行编译和安装: ```bash make -j $(nproc) sudo make altinstall ``` - `-j $(nproc)`:利用多核CPU加速编译过程。 - `make altinstall`:避免覆盖系统默认的Python版本(如果系统依赖Python 3.6,则建议使用此命令)。 #### 6. 验证安装 安装完成后,验证Python版本是否正确升级: ```bash /usr/local/python3.8/bin/python3.8 --version ``` #### 7. 更新环境变量(可选) 为了方便使用新版本的Python,可以将新安装的Python路径添加到环境变量`PATH`中。编辑`~/.bashrc`文件并添加以下内容: ```bash export PATH=/usr/local/python3.8/bin:$PATH ``` 然后运行以下命令使配置生效: ```bash source ~/.bashrc ``` #### 8. 验证默认Python版本 运行以下命令检查默认的Python版本: ```bash python3 --version ``` 如果需要切换默认版本,可以使用`update-alternatives`命令进行管理。 --- ### 示例代码:验证Python版本 ```bash python3 --version ``` --- ### 注意事项 - **备份系统默认Python版本**:升级Python时,不要覆盖系统默认的Python版本,因为系统工具可能依赖旧版本。 - **虚拟环境**:建议使用虚拟环境(如`venv`或`virtualenv`)来管理不同项目的Python版本,避免全局环境的混乱。 - **依赖兼容性**:升级Python后,确保已安装的Python包与新版本兼容。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值