鉴于python 3.5 给我带来的困扰,我向小伙伴求助~ 他给我推荐了pyenv。
通过pyenv 我们可以安装各种python版本,可以随意切换,非常方便。
我在安装使用的过程中主要遇到了以下问题:
(1)安装python 3.8.1 失败
(2) 将当前系统 python 3.5.2 版本切换到python 3.8.1版本 失败
具体解决方法在文中可以找到,希望可以帮助到您 ~
安装pyenv
(选择pyenv的安装路径,这里是选择安装在home目录下)
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
注:我直接在目录下安装显示失败,但在虚拟环境中可以成功安装。所以我这里是先创建了虚拟环境(创建虚拟环境可以参考链接Linux创建虚拟环境_Toady 元气满满的博客-CSDN博客_linux 创建虚拟环境),然后在虚拟环境中安装pyenv。
定义环境变量,依次输入如下命令:
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
pyenv的使用方法
① 查看有哪些版本的python 可以安装
$ pyenv install --list
② 查看已经安装的python版本
$ pyenv versions
③ 安装一个python版本如3.8.1
$ pyenv install 3.8.1
但我安装的时候一直出bug... 如下图所示:

经过查找资料 参考链接 Home · pyenv/pyenv Wiki · GitHub
我安装成功了

接下来记录一下我解决问题的过程:
$ sudo apt-get update
$ sudo apt-get install make build-essential libssl-dev zlib1g-dev \
> libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
> libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev$ pyenv install 3.8.1


总结,我这里边之所以会安装失败,我觉得主要是缺失一些依赖包。
④ 卸载一个python版本
$ pyenv uninstall 3.8.1
⑤ 设置python版本
有两种情况:
a> 指定全局python版本:
$ pyenv global 3.8.1
b> 当我们的pyenv安装了多个版本的python时,可以临时指定某个版本:
$ pyenv local 3.8.1
下图表示当我们有多个版本的python时,我用" pyenv global 3.8.1"指定python版本没反应,但是用"pyenv local 3.8.1"就可以切换python版本。(不知道为什么用前者指定不了python版本,如果你刚好知道的话,可以在下方评论~谢谢)


切换 python版本
我直接用 pyenv global 3.8.1 命令切换python版本失败了,但通过查找一些资料解决了!!
上链接:Cannot switch Python with pyenv - Stack Overflow
切换之前python版本是3.5.2
![]()
切换之后的版本是3.8.1
![]()
接下来写一下我解决问题的过程:
1> 用vi 打开 .bashrc 文件(我上边将对pyenv的配置都写在这个文件里了),文件内容如下:

2>在文件中添加 eval "$(pyenv init --path)"

3>激活一下 .bashrc 文件
$ source ~/.bashrc
4>切换python版本至3.8.1
$ pyenv global 3.8.1
5>查看切换后的python版本
$ python --version
切换结果如下:

⑥ 恢复系统自带的Python版本(跟⑤中的第二种情况一样)
$ pyenv local system
希望大家都能早日解决bug ~
本文介绍了如何使用pyenv来安装和管理Python版本,包括遇到的安装失败问题及其解决方法,如安装依赖包。还详细阐述了pyenv的使用步骤,如查看可用版本、安装特定版本、切换全局或局部版本,并分享了在切换Python版本时遇到的问题及解决方案。
715

被折叠的 条评论
为什么被折叠?



