linux下pyenv的安装和使用

pyenv 可以根据需求使用户在系统里安装和管理多个 Python 版本:

配置当前用户的python的版本
配置当前shell的python版本
配置某个项目(目录及子目录)的python版本
配置多个虚拟环境

 

一、安装pyenv

1、安装pyenv

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

国内地址

curl -L https://gitee.com/xinghuipeng/pyenv-installer/raw/master/bin/pyenv-installer | bash

2、添加环境变量

cat >>/root/.bashrc<<'EOF'
### pyenv ###
export PYENV_ROOT="$HOME/.pyenv" 
export PATH="$PYENV_ROOT/bin:$PATH"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init -)"
EOF

source /root/.bashrc

pyenv --version
pyenv 2.2.0

3、查询可安装的Python版本

pyenv install --list

 

二、安装Python

1、安装 Python 的流程就是先将把包下载到 ~/.pyenv/cache 目录,然后在进行安装,慢也就慢在下载的这个过程。
先手动将包下载到指定目录,在执行 pyenv install 即可。CC=clang是Rocky9系统的,Centos可以忽略

[root@node02 12:34:21~]# CC=clang  pyenv install 3.6.12       
Installing Python-3.6.12...
Installed Python-3.6.12 to /root/.pyenv/versions/3.6.12

2、安装python虚拟环境

[root@node02 13:21:34~]# pyenv virtualenv 3.6.12 devops 
Looking in links: /tmp/tmps3vgm4ge
Requirement already satisfied: setuptools in /root/.pyenv/versions/3.6.12/envs/devops/lib/python3.6/site-packages (40.6.2)
Requirement already satisfied: pip in /root/.pyenv/versions/3.6.12/envs/devops/lib/python3.6/site-packages (18.1)

root@node02 13:22:21~]# pyenv virtualenvs
  3.6.12/envs/devops (created from /root/.pyenv/versions/3.6.12)
  devops (created from /root/.pyenv/versions/3.6.12)


# 实际会/root/.pyenv/versions/3.6.12/envs创建一个devops目录

3、进入对应Python版本

# 进入devops环境
[root@node02 13:30:29~]# pyenv shell devops

# 查看虚拟环境
[root@node02 13:30:38~]# pyenv versions
  system
  3.6.12
  3.6.12/envs/devops
* devops --> /root/.pyenv/versions/3.6.12/envs/devops (set by PYENV_VERSION environment variable)

# 查看版本
[root@node02 13:30:50~]# python -V
Python 3.6.12

# 退出当前的环境
[root@node02 13:31:13~]# pyenv shell --unset
[root@node02 13:33:29~]# python -V
Python 3.9.16

# 删除当前环境
[root@node02 13:33:32~]# pyenv uninstall devops
pyenv: remove /root/.pyenv/versions/devops? [y|N] y
pyenv-virtualenv: remove /root/.pyenv/versions/3.6.12/envs/devops? (y/N) y

  

  

  

  

  

  

  

  

posted @ 2024-06-13 13:47  lucky_tomato  阅读(1254)  评论(0编辑  收藏  举报