如何安装和使用pyenv,如果无法切换python版本该怎么办


最近,我有机会使用python并尝试建立开发环境,但是当我引入pyenv来构建版本控制环境时花了很多时间。在这里,我将介绍如何安装pyenv,如何使用pyenv的基础知识以及如何处理我亲自遇到的错误。另外,请不要犹豫指出任何错误。

使用环境

使用的环境是OS:macOS Sierra(版本10.12.2)。还有一个在途中使用vim的地方。
Shell:bash

什么是pyenv

一种工具,可让您轻松在python版本之间进行切换。在2系列和3系列之间切换非常方便。您还可以为每个目录切换python版本。

安装pyenv

首先,让我们安装pyenv。如果是从git带来的,则可以使用上面的命令,如果可以使用brew,则可以使用下面的命令。

1
2
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ brew install pyenv

编辑bash_profile

接下来,编辑bash_profile以传递pyenv的路径。

1
2
3
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

您也可以使用

或vim直接写入bash_profile。

1
2
3
4
$ vim ~/.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

最后应用保存的bash_profile

1
$ source ~/.bash_profile

使用pyenv

安装python

让我们安装具有两个不同版本的python来体验版本切换。如果要检查是否可以安装,可以使用第三个命令检查列表。

1
2
3
$ pyenv install 2.7.10
$ pyenv install 3.5.0
$ pyenv install --list 

尝试使用pyenv

切换版本

尝试切换版本。如果是本地的,它将反映在当前目录中;如果是全局的,它将反映在整个目录中。

1
2
$ pyenv local 2.7.10
$ pyenv global 3.5.0

检查python版本以查看更改是否反映在这里。

1
2
$ python --version
Python 2.7.10

如果更改以这种方式反映,则没有问题。
如果没有反映出来,请尝试下面的文章。

如果pyenv中的python版本不同于python -v

,该怎么办

例如,我应该使用pyenv将版本切换到2.7.10,但是当我检查python版本时,它是3.5.0 ...
可能有这样的事情。

1
2
3
4
5
6
$ pyenv versions
  system
* 2.7.10
  3.5.0
$ python --version                                                                                            
Python 3.5.0

在这种情况下,请尝试显示命令所在的路径。

1
2
$ which python
/usr/bin

如果看起来像这样,则默认情况下是指PC随附的python。如果要在此处更改引用pyenv的路径,请按如下所示进行编辑。

1
2
3
4
5
6
7
$ vim /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin

现在,该路径将优先于/ usr / local而不是usr / bin。再次输入哪个命令以确认

1
2
$ which python
/usr/local/bin/pyenv

它看起来应该像


最后,再次尝试查看pyenv的python版本是否与python版本匹配。

参考链接集合

这是我用作参考的链接。如果您想了解更多详细信息,请使用它。
-pyenv用法摘要
-使用pyenv在Mac上构建Python环境
-当没有写权限的用户编辑文件时,无法打开文件以写入