likes
comments
collection
share

Pyenv-win--windows下管理python版本利器

作者站长头像
站长
· 阅读数 12

最近发现python也有与node的nvm类似的版本管理工具,特在此给大家分享一下如何使用。

安装

查阅官方文档 pyenv-win

方法一

根据官方文档的命令:Invoke-WebRequest -UseBasicParsing -Uri "raw.githubusercontent.com/pyenv-win/p… -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

直接执行该命令可能会出现错误。我们可以使用下面的方法:

  • 进入[https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1](https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1") ,将名为install-pyenv-win.ps1的文件下载至电脑某目录(如D:\pyenv)
  • 将脚本文件下载完成后,在终端(PowerShell) 中,使用cd命令切换到保存该脚本文件的目录,然后运行以下命令来执行脚本
./install-pyenv-win.ps1
  • 执行完成后,运行下面的命令确认是否安装成功:
pyenv --version

显示以下画面,说明安装成功:

Pyenv-win--windows下管理python版本利器

方法二

 git clone https://github.com/pyenv-win/pyenv-win.git
 # 或者直接下载
 https://github.com/pyenv-win/pyenv-win/archive/refs/heads/master.zip
 

路径可自定义。例如 D:\pyenv\.pyenv

配置环境变量

使用方法二安装时,需要我们自行配置环境变量。

pyenv添加到系统的环境变量

  • 建立环境变量名:PYENV,变量值为D:\pyenv.pyenv\pyenv-win
  • 添加以下两项至Path:
    • %PYENV%\bin
    • %PYENV%\shims
  • 设置好之后,测试pyenv是否安装并配置成功

需要将当前终端关闭并重新打开再进行测试

使用前准备工作

设置下载镜像

由于默认的pyenv使用的下载镜像(mirror)下载时很容易超时导致下载失败或下载很慢。

为了解决这个问题,这里我们更换一个更快的下载镜像。

修改pyenv-win\libexec\libs目录下(特别提示,对早期pyenv-win是在pyenv-win\libexec目录下)的pyenv-install-lib.vbs文件中的镜像配置mirror="https://www.python.org/ftp/python"修改为

mirror="https://npm.taobao.org/mirrors/python/",令其在下载Python版本时默认从淘宝镜像中下载。

常用命令

查看可安装的Python的版本列表

pyenv install --list
# 或
pyenv install --l

pyenv install--安装Python

查看可安装的版本后,接着可以输入pyenv install <python_version>来下载需要的Python版本。例如想要下载3.8.10版本的话可以输入:

pyenv install 3.8.10

pyenv global <python_version>--设置全局的Python版本

  • 我们可以通过输入pyenv global 3.8.10设置全局的Python版本为3.8.10
  • 设置后输入pyenv global确认当前设置的Python版本是否为3.8.10
  • 另外在设置全局Python版本后,D:/pyenv/.pyenv/pyenv-win目录下有一个名为verision的文件,打开它就可以查看全局的Python版本

pyenv local <python_version>--设置当前目录下的Python版本

  • 如果使用Python开发项目(比如Django),这时因为项目使用的库版本各不相同,这时我们要在单个项目中使用特定的Python版本进行开发,这个命令实现的效果是类似于venv的功能。
  • 我们可以输入pyenv local 3.8.10设置当前目录下所有Python文件使用的Python版本。
  • 与查看全局版本类似,我们同样可以输入pyenv local确认当前设置的Python版本;也可以在当前目录下找到一个生成的.python-version文件来查看当前版本

pyenv versions--显示已经安装的Python版本

通过输入pyenv versions可以输出已经下载的所有Python环境:

$ pyenv versions
  3.10.10
* 3.8.10 (set by D:\cerelise-workspace\course\drf-chat-course\server.python-version)
  • pyenv version会显示当前localglobal所使用的Python版本,括号内容为Python的来源位置;
  • 若输入pyenv version则只会显示当前使用的Python版本,而且本地会优先于全局版本。

pyenv uninstall <python _version>--解除安装指定的Python版本

假设要删除Python3.8.10的话,只需要输入pyenv uninstall 3.8.10,pyenv就会删除D:/pyenv/.pyenv/pyenv-win/versions/3.8.10

配置pip国内镜像

国内常用镜像

配置

# 全局范围内设置 pip 的镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 只想对当前用户设置镜像源
pip config set index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 临时安装时配置
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名

在不同的Python版本下,切换为国内镜像源都需要更新一次,不同Python版本下的pip并不一致。

常见问题

如果我要使用pyenv,但是本地有已经安装好的Python怎么办?

  • 安装pyenv后,如果本机上有Python环境的话,无论怎么切换版本,系统都是默认使用本机上使用安装包安装的Python环境版本;

  • 如何解决这个问题?

    • 卸载当前的Python环境;
    • 在Path配置中删除本机Python的环境变量。
  • 以上两项完成后,重新打开终端,切换版本就可以了。

转载自:https://juejin.cn/post/7280783758618279972
评论
请登录