说明

  • pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.
  • pipenv是requests 作者 Kenneth Reitz大神写的一个python虚拟环境管理工具, 结合了pip和virtualenv的功能, 侧重点还是在包环境管理上, 使用思路是先创建一个指定python版本的环境, 然后在此环境上安装相应的包, 好评不错, 看到很多大牛都在推荐.
  • pyenv 用于管理多个版本的python
  • virtualenv 用于管理虚拟环境

安装pyenv

windows 下 使用scoop 推荐安装 scoop install pyenv@2.64.11  scoop hold pyenv

  • 在家目录里clone项目:

    1
    2
    3
    4
    5
     $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

    # MacOS的话可以直接用homebrew安装
    $ brew update
    $ brew install pyenv
  • 添加shell配置文件中追加如下: (如zshrc)

    1
    2
    3
    4
    export PYENV_ROOR="$HOME/.pyenv"
    export PATH=$PYENV_ROOT/shims:$PATH
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
  • source一下配置文件, 输入pyenv --version测试一下

pyenv换源

  • 只需要设置环境变量且使之生效

    1
    2
    3
    $env:PYTHON_BUILD_MIRROR_URL='https://mirrors.huaweicloud.com/python/'

    [environment]::setEnvironmentVariable('PYTHON_BUILD_MIRROR_URL',$env:PYTHON_BUILD_MIRROR_URL,'User')
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    PYTHON_BUILD_MIRROR_URL=https://mirrors.huaweicloud.com/python/
    # 其他源
    https://mirrors.huaweicloud.com/python/
    https://npmmirror.com/mirrors/python/
    http://mirrors.sohu.com/python/

    # cmd
    # 查看所有环境变量
    set
    # 临时添加环境变量
    set PYTHON_BUILD_MIRROR_URL=https://mirrors.huaweicloud.com/python/

    # powershell
    # 查看所有环境变量
    ls env:
    # 临时添加环境变量
    $env:PYTHON_BUILD_MIRROR_URL="https://mirrors.huaweicloud.com/python/"
  • 使用pyenv update刷新缓存的 Python 版本及下载地址, 重新安装即可

pyenv安装python

  • 通过pyenv安装一个Python。

    1
    2
    # 查看可安装的Python版本。
    pyenv install --list
  • 安装python

    1
    2
    3
    pyenv install 3.11.1
    pyenv global 3.11.1
    pyenv rehash
  • 卸载python

    1
    pyenv uninstall 3.10.5
  • 查看已安装的version版本

    1
    pyenv versions

pyenv版本管理说明

1
2
3
4
5
6
7
8
# 全局设置python版本为指定版本,设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
pyenv global <version>

# 设置当前路径下python版本为指定版本,设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。
pyenv local <version>

# 设置当前shell窗口使用的python版本为指定版本,设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。–unset 参数可以用于取消当前 shell 设定的版本。
pyenv shell <version>

安装vitualenv

  1. 安装

    1
    python -m pip install --user virtualenv
  2. 在powershell中,上面的安装虚拟环境会出错

    1
    2
    pip install virtualenv
    pip install virtualenvwrapper
  3. 创建一个3.5.3的环境, 选择一个用来存放虚拟环境的文件,如 D:\dev\virtualenv

    1
    2
    3
    4
    5
    6
    cd  D:\dev\virtualenv   # 进入该文件
    virtualenv zrq_virtualenv # 创建一个名字为zrq_virtualenv的虚拟环境
    dir # 查看当前目录可以知道一个zrq_virtualenv的文件已经被创建

    virtualenv -p python zrq_virtualenv
    # 如果安装了多个python版本,如py2和py3,需要指定使用哪个创建虚拟环境
  4. 创建成功后E:\virtualenv 目录下会出现如下结构:

  5. 启动虚拟环境, 切换和使用新的python虚拟环境

    1
    2
    3
    4
    5
    6
    7
    # 进入虚拟环境文件
    cd zrq_virtualenv
    # 进入相关的启动文件夹
    cd Scripts

    .\activate # 启动虚拟环境
    .\deactivate # 退出虚拟环境
  6. 查看当前虚拟环境已安装的package

    1
    pip list
  7. 退出虚拟环境

    1
    pyenv deactivate

pip镜像源加速

常用的镜像源: