python. 安装pyenv的教程及其注意点

python 虚拟环境 pyenv

测试环境:centos8。网上蛮多教程的,下面的内容很多也是摘抄其他的博客,但是按照其他的博客,会出现问题,或者出现因为网络的问题,安装很慢甚至安装不上,所以把自己的使用过程,记录下来,方便后面使用。

文中需要注意的几个地方:

  • 配置pyenv环境变量(注意路径配对)
  • 使用pyenv安装python3.5(加速安装方法)

一、pyenv简介

pyenv 主要用来管理 Python 的版本,比如一个项目需要 Python 2.x ,一个项目需要 Python 3.x 。

pyenv 通过系统修改环境变量来实现 Python 不同版本的切换。

pyenv 它并没有使用将不同的 PATH植入不同的shell这种高耦合的工作方式,而是简单地在PATH 的最前面插入了一个垫片路径(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin。所有对 Python 可执行文件的查找都会首先被这个 shims 路径截获,从而使后方的系统路径失效。

二、安装pyenv

1、安装pyenv依赖包
# 这些包也不一定需要安装,可以先不安装,不报错就不用管
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

yum -y install git 
2.安装pyenv
# 下载并且重命为 .pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
3.配置pyenv环境变量

注意:这里一共需要添加四句,我当时网上找的博客很多都只有三行,导致后面无法正常切换python版本,无法使用

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

或者

vim ~/.bash_profile

在末尾添加如下内容

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init -)"
source .bash_profile
4.验证pyenv安装是否成功
# 查看pyenv命令
pyenv commands
5. pyenv 简单使用
# 查看当前版本
pyenv version

# 查看所有版本
pyenv versions

# 查看所有可安装的版本
pyenv install --list

# 安装指定版本
pyenv install 3.6.5
# 安装新版本后rehash一下
pyenv rehash

# 删除指定版本
pyenv uninstall 3.5.2

# 指定全局版本
pyenv global 3.6.5

# 指定多个全局版本, 3版本优先
pyenv global 3.6.5 2.7.14

# 实际上当你切换版本后, 相应的pip和包仓库都是会自动切换过去的

三、安装多版本的python

1、查看当前系统默认python版本
python --version
2、使用pyenv安装python3.5

1)查看pyenv可安装的python版本

pyenv install --list

2)安装所需python版本

pyenv install -v 版本号

pyenv install -v 3.5.2

(这个官网下载好慢,等了好几分钟)

另外的办法

wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tar.xz

cd ~/.pyenv

# 建一个缓存目录,并将包放入这个目录里面
mkdir cache

# 将刚刚下载的包移动到 cache 目录下


pyenv  install 3.8.9 -v 

3)查看已安装版本

pyenv versions

system 表示系统自带的版本,表示 当前正在使用的版本

每次安装完成后需要刷新py可用列表

pyenv rehash

删除已安装版本

pyenv uninstall XXXXXX

四、使用pyenv

pyenv 可以从三个维度来管理 Python 环境,简称为: 当前系统 、 当前目录 、 当前shell 。这三个维度的优先级从左到右依次升高,即 当前系统 的优先级最低、 当前shell 的优先级最高。

如果想修改系统全局的Python环境,可以采用 pyenv global PYTHON_VERSION 命令。该命令执行后会在 $(pyenv root) 目录(默认为 ~/.pyenv )中创建一个名为 .python-version的文件(如果该文件已存在,则修改该文件的内容),里面记录着系统全局的Python版本号。

**注意:**如果项目中的根目录下面添加了.python-version文件,里面指定了python版本,进入目录会自动进入虚拟环境。(印象中是这样的)

1.当前系统模式 global
# 全局设置
pyenv global 3.5.2
2.当前目录模式 local

1)新建目录,查看当前的设定版本,提示为空
在这里插入图片描述

2)设置版本为3.5.2

pyenv local 3.5.2

3)取消local设置
取消当前设置的版本使用 pyenv local --unset或者直接删除当前目录下面的 .python-version 文件

五、安装 Pyenv-virtualenv插件

pyenv-virtualenv 是pyenv的插件,为pyenv设置的python版本提供隔离的虚拟环境,设置虚拟环境后,在这某个目录下面安装的第三方库及修改库搜索路径都不会影响其他环境,相当于一个沙盒环境,互相不影响。

1.安装 pyenv-virtualenv插件
git clone http://github.com/yyuu/pyenv-virtualenv.git ./.pyenv/plugins/pyenv-virtualenv

cd ./.pyenv/plugins/pyenv-virtualenv

./install.sh

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

2.查看是否成功安装,并获取帮助

pyenv help virtualenv

3.创建一个虚拟环境,py版本设置为3.5.2,名字为myenv:

pyenv virtualenv 3.5.2 myenv

4.切换和使用myenv

pyenv activate myenv

5.退出myenv

pyenv deactivate

6.删除myenv

在这里插入图片描述

参考

python 虚拟环境 pyenv
pyenv创建python多虚拟环境
mac安装pyenv配置环境变量后,无法切换python版本解决方案

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值