Python的pyenv-win工具安装与使用
> 在日常运维中, 经常遇到这样的情况: 需要在系统中安装多个Python版本,即需要实现Python的多版本环境共存,pyenv是个不错的工具。pyenv-win是windows系统中使用的工具。
### 一、安装:
#### 方法一:(不推荐,会导致环境纷乱)
```sh
# 执行命令
pip install pyenv-win --target d:/pyenv/.pyenv
```
#### 方法二:
```sh
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`
```
> - pip 是 Python 中的标准库管理器。该工具提供了对Python 包的查找、下载、安装、卸载的功能。pip 官网:[https://pypi.org/project/pip/](https://pypi.org/project/pip/),高版本python集成了pip。
> - `d:/pyenv/.pyenv`:你自己选择安装地址。
### 二、添加环境变量
> 把PYENV添加到系统环境变量。
>
- 1、右击我我的电脑找到环境变量设置:
建立环境变量名:PYENV
变量值:D:\pyenv\.pyenv\pyenv-win
- 2、 添加到Path变量
%PYENV%\bin
%PYENV%\shims
- 3、设置好后,测试pyenv是否安装并配置成功
打开cmd命令,输入pyenv,出现版本号即代表安装成功
> 环境变量设置后要重新打开CMD(否则不生效的),再输入pyenv验证
### 三、设置下载镜像
由于默认的pyenv使用的下载镜像(mirror)下载时很容易超时导致下载失败或下载很慢,这里我们更换一个更快的下载镜像如淘宝镜像,修改pyenv-win\libexec\libs目录下(特别提示,对早期pyenv-win是在pyenv-win\libexec目录下)的pyenv-install-lib.vbs文件中mirror=" https://www.python.org/ftp/python"引号内的改为https://npm.taobao.org/mirrors/python/
### 四、安装自己需要的版本
- 1、列出pyenv可以管理、安装的python版本
```sh
pyenv install --list
# 或
pyenv install --l
```
- 2、安装
```sh
pyenv install 3.9.13
```
> 方才安装python的位置在pyenv 安装目录的versions文件夹中
>
- 3、 设置特定python版本全局使用
```sh
pyenv global 3.9.13
```
> 如果是第一次安装设置,设置后输入 `python --version` 查看版本,如果不是自己设置的版本,就查看下系统环境变量中是否设置死了python,删除即可(环境变量设置: 我的电脑->右键->选择属性-> 高级系统设置->环境变量,主要是查看path变量,不管是系统级别的还是用户级别的都可以看下),然后重新cmd打开对话框,查看版本。
- 4、查看当前全局python版本
```sh
pyenv global
```
- 5、重新处理刷新
```sh
pyenv rehash
```
- 6、查看已经安装好的python版本
```sh
pyenv versions
```
> 其中,* 表示系统当前的全局版本
- 7、卸载
```sh
pyenv uninstall <python_version>
```
- 9、指定 `myproject` 使用 Python 3.8.2
```sh
cd myproject
pyenv local 3.8.2
```
- 10、在当前 shell 中临时使用 Python 3.8.2
```sh
pyenv shell 3.8.2
```
### 五、安装 virtualenv、 virtualenvwrapper
```sh
pip install virtualenv virtualenvwrapper-win -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
```
- 1、配置虚拟环境存放位置:
默认创建的虚拟环境位于C:\Users\username\envs,可以通过环境变量 WORKON_HOME 来定制。`username是你的计算机用户名`。
> 通过计算机–>属性–>高级系统设置–>环境变量–>在系统变量中新建“变量名”:WORKON_HOME,变量值:“你自定义的路径”。
![image](http://uploads.liqingsong.cc/20230801/6f317a6a-8dfd-474b-8e28-0ab5318425cf.png)
- 2、列出虚拟环境列表
```sh
workon
```
- 3、切换虚拟环境
```sh
workon [虚拟环境名称]
```
> 重要:在window环境下,执行此命令无效,是因为需要配置path环境
> 通过计算机–>属性–>高级系统设置–>环境变量–>在系统变量中编辑 `path`, 把virtualenvwrapper安装在哪个python下的scripts添加进去:如: `D:\software\pyenv\.pyenv\pyenv-win\versions\3.9.13\Scripts`
**注:如果还是无效,直接进入到activate所在目录,使用.\activate激活:如:进入`D:\software\pyenv\envs\envda4\Scripts>`,然后输入`.\activate`回车**
- 4、创建虚拟环境
```sh
# 根据当前python版本生成
mkvirtualenv [虚拟环境名称]
# 创建指定解释器的虚拟环境
mkvirtualenv -p python3.4 [虚拟环境名称]
mkvirtualenv -p D:\software\pyenv\.pyenv\pyenv-win\versions\2.7.18\python.exe [虚拟环境名称]
```
- 5、退出虚拟环境
```sh
deactivate
```
- 6、删除虚拟环境
```sh
rmvirtualenv [虚拟环境名称]
```
### 六、pip 配置国内镜像源
#### 1、国内常用镜像:
```sh
https://pypi.tuna.tsinghua.edu.cn/simple #清华
http://mirrors.aliyun.com/pypi/simple/ #阿里云
https://pypi.mirrors.ustc.edu.cn/simple/ #中国科技大学
http://pypi.hustunique.com/ #华中理工大学
http://pypi.sdutlinux.org/ #山东理工大学
http://pypi.douban.com/simple/ #豆瓣
```
#### 2、配置
```sh
# 全局范围内设置 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 包名
```