赞
踩
在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版本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。