【日常积累】Ubuntu 22.04.2 LTS更换python版本

在Ubuntu上更改Python的版本可以通过使用pyenv工具来完成。
1、首先安装依赖项:

sudo apt update
sudo apt install -y 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 python3-openssl git

2、克隆并编译pyenv:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
source ~/.bashrc

克隆报错的相关问题:
踩坑1:连接不上git

fatal: 无法访问 'https://github.com/pyenv/pyenv.git/':Failed to connect to github.com port 443 after 133518 ms: 连接超时

连接超时,报443错误,修改hosts文件;
详情https://blog.csdn.net/weixin_42149550/article/details/133682119。
踩坑2:ssl认证超时

fatal: 无法访问 'https://github.com/pyenv/pyenv.git/':SSL connection timeout

这个是报的ssl认证超时,可以执行下面的操作

export GIT_SSL_NO_VERIFY=true

这将临时地为当前会话中的所有Git操作关闭SSL证书验证。如果想要永久性地关闭该功能,需要编辑.bashrc或者.bash_profile文件,添加相同的export语句,然后重新登录系统使其生效。
确认已成功关闭SSL证书验证,可以进行任何Git操作而不再收到SSL错误提示信息。
踩坑3:GnuTLS的接收错误。GnuTLS是一个安全通信库,用于实现SSL,TLS和DTLS协议。

fatal: 无法访问 'https://github.com/pyenv/pyenv.git/':GnuTLS recv error (-110): The TLS connection was non-properly terminated.

这个错误提示表示你在尝试访问https://github.com/pyenv/pyenv.git/时遇到了问题,具体是GnuTLS的接收错误。GnuTLS是一个安全通信库,用于实现SSL,TLS和DTLS协议。
错误“The TLS connection was non-properly terminated”通常意味着在TLS连接的结束阶段出现了问题,可能的原因有很多,比如:
1、服务器或客户端意外关闭了连接。
2、网络问题导致连接中断。
3、使用的证书或密钥可能已经过期或无效。
4、使用了不兼容的TLS版本。
5、配置了错误的SSL/TLS参数。

为了解决这个问题,你可以尝试以下方法:
1、检查网络连接:确保你的网络连接是稳定的。
2、更新Git和GnuTLS:确保你正在使用的Git和GnuTLS版本是最新的。你可以通过以下命令来更新Git:
我的问题在这一步就解决了,因为没有安装git,报了一个没有git命令,报错如下:

git:'update-git-for-windows' 不是一个 git 命令。参见 'git --help'

解决方法参考如下链接:https://blog.51cto.com/u_15242250/2856081

3、检查代理设置:如果你在使用代理服务器,确保代理设置是正确的。
4、清除Git缓存:有时候,清除Git的HTTP/HTTPS缓存可以解决问题。你可以使用以下命令来清除缓存:

git config --system http.sslVerify false

5、检查证书:如果你自己管理一个Git服务器,确保服务器上的SSL证书是有效的。
6、尝试使用HTTP而不是HTTPS:如果上述方法都不起作用,你可以尝试使用HTTP而不是HTTPS来克隆仓库。例如:

git clone http://github.com/pyenv/pyenv.git

踩坑4:

fatal: 无法访问 'https://github.com/pyenv/pyenv.git/':GnuTLS recv error (-110): The TLS connection was non-properly terminated.

运行如下命令:

apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000

参考如下链接:https://blog.csdn.net/weixin_46400740/article/details/120086485

3、安装所需的构建工具(如果没有):

sudo apt install -y gcc make openssl 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 python3-openssl git

4、列出可用的Python版本:

pyenv install --list

选择要安装的特定版本,比如3.9.6。
5、安装指定的Python版本:

pyenv install 3.9.6

这将自动从源代码中编译和安装Python 3.9.6。
6、设置全局默认的Python版本:

pyenv global 3.9.6

或者为当前会话设置默认版本:

pyenv local 3.9.6

7、确保新的Python版本已经生效:

python --version

应该显示安装的Python版本号。
现在你已经成功地在Ubuntu上切换到了指定的Python版本。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值