pyenv pipenv 作用的不同

  • pyenv manages Python installations
  • pipenv manages project dependencies

安装

  1. # mac使用homebrew安装
  2. brew install pyenv
  3. # 将下面的一行内容添加到~/.zshrc中
  4. eval "$(pyenv init -)"

指令

  1. # 查看能安装的python interpreter
  2. pyenv install --list
  3. # 安装某个版本的python
  4. pyenv install 3.6.6
  5. # 查看本机安装了的版本
  6. pyenv versions
  7. # 卸载某个版本的python
  8. pyenv uninstall 2.7.3
  9. # 切换全局的python版本
  10. pyenv global 3.6.6

设置某一个文件夹内(local)的 Python 版本

寻找 python 的时候优先级: shell > local > global

  1. mkdir my_project && cd my_project
  2. pyenv local 3.7.0 # 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。

pyenv 会从当前目录开始向上逐级查找.python-version文件,直到根目录为止。若找不到,就用 global 版本。

设置 shell 的 Python 版本

设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。--unset 参数可以用于取消当前 shell 设定的版本。

  1. # 设置 shell 的 Python 版本
  2. pyenv shell 2.7.3
  3. # 取消当前shell设定的版本
  4. pyenv shell --unset
  5. pyenv rehash # 创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令)

win10安装

  • 安装pyenv-win,参照github文档
  • 重点提醒以及补充
    • pip install pyenv-win --target %USERPROFILE%\.pyenv 这里指定了安装地点是用户目录下的.pyenv文件夹内,之后设置环境变量时需要定位到这里
    • 环境变量
      • PYENV -> 设置到.pyenv\pyenv-win\
      • PYENV_HOME -> 设置到.pyenv\pyenv-win\
      • PYENV_ROOT ->设置到.pyenv\pyenv-win\
      • Path 添加
        • %PYENV_HOME%\bin
        • %PYENV_HOME%\shims
  • (*)注意系统中原生python,conda的python和pyenv的python的加载顺序,使用where python查看优先顺序。因为我们现在优先使用pyenv,所以需要修改环境变量的优先顺序,将%PYENV_HOME%\bin%PYENV_HOME%\shims的位置放到系统的python之前,之后放系统的python的Path,最后放conda的Path。