当前位置: 首页 > 工具软件 > pyenv > 使用案例 >

Ubuntu20.04下Pyenv的安装、卸载与使用

能正青
2023-12-01

一:安装pyenv依赖库与将要使用的命令

# 更新软件源
sudo apt-get update
# 更新软件
sudo apt-get upgrade
# 安装pyenv依赖
sudo apt-get install git make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev 
# 安装python依赖
apt-get install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel liblzma-dev

 二:pyenv的安装与卸载

## pyenv官方地址:https://github.com/pyenv/pyenv-installer

## (1)下载pyenv安装脚本并安装
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

## (2)配置环境变量,将安装路径写入 ~/.bashrc

## 将以下三条语句写入 ~/.bashrc
vim .bashrc

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

## (3)让配置生效
source ~/.bashrc

## (4)判断环境变量是否生效
echo $PATH  ## 若命令结果的第一个结尾是shims则表示成功:

/home/python/.pyenv/plugins/pyenv-virtualenv/shims:/home/python/.pyenv/shims:
/home/python/.pyenv/bin:/home/python/bin:/home/python/.local/bin:/usr/local/sbin:
/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

## (5)如果想升级pyenv,可以使用如下命令
pyenv update

## 卸载pyenv
(1)若想要卸载pyenv(pyenv 安装的默认路径为 ~/.pyenv,如果是自定义安装路径则删除自定义文件夹):

rm -fr ~/.pyenv
(2)并删除刚才在 .bashrc 里写入的环境变量:

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

三:pyenv的常用命令

# 查看当前python版本
pyenv version

# 查看所有python版本
pyenv versions

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

# 安装指定python版本
pyenv install 3.6.5

# 安装新版本后rehash一下
pyenv rehash

# 删除指定python版本
pyenv uninstall 3.5.2

# 指定全局python版本
pyenv global 3.6.5

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

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

四:安装pyenv-virtualenv来管理虚拟环境

## 下载pyenv-virtualenv
[root@devops ~]# git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv



## (1)使用pyenv-virtualenv创建虚拟环境
以下命令将创建一个名为my-virtual-env-3.6.1的虚拟环境(目录),并且将 python 3.6.1 对应的bin和lib复制到该环境中。当该虚拟环境被激活后,所有的 python 操作都只在该环境中进行,从而和其它 python 内容隔离。
pyenv-virtualenv 支持自动激活和退出虚拟环境。

[root@devops ~]# pyenv virtualenv 3.6.1 my-virtual-env-3.6.1 

## (2)进入和退出虚拟环境
## pyenv-virtualenv 用来隔离各个项目的依赖文件,常用命令包括:
 
[root@devops ~]#pyenv virtualenv [version] <venv-name>                       #创建虚拟环境
[root@devops ~]#pyenv activate <venv-name>                                   #激活虚拟环境
[root@devops ~]#pyenv deactivate                                             #退出虚拟环境

五:解决pyenv安装python版本时国内下载慢的问题

第一种办法:(不建议用,因为还是会从python官网去下载,pyenv无法修改下载源)

将下载好的相应的python安装包,
例如Python-3.6.1.tgz 放在 ~/.pyenv/cache下,
并且重命名为Python-3.6.1.tar.gz 然后执行pyenv install 3.6.1 

第二种办法:(非常建议,直接用shell命令指定下载源下载需要的版本到~/.pyenv/cache/目录下,然后安装)
v=3.6.1; curl -L https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -o ~/.pyenv/cache/Python-$v.tar.xz; pyenv install $v

root@ops-test-01:~/.pip# pyenv versions
  system
* 3.9.5 (set by /root/.pyenv/version)
  3.9.5/envs/devops_platform
  devops_platform --> /root/.pyenv/versions/3.9.5/envs/devops_platform
root@ops-test-01:~/.pip# v=3.6.1; curl -L https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -o ~/.pyenv/cache/Python-$v.tar.xz; pyenv install $v

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   145  100   145    0     0    917      0 --:--:-- --:--:-- --:--:--   917
100 16.0M  100 16.0M    0     0  10.3M      0  0:00:01  0:00:01 --:--:-- 13.4M
Installing Python-3.6.1...
Installed Python-3.6.1 to /root/.pyenv/versions/3.6.1
root@ops-test-01:~/.pip# pyenv versions
  system
  3.6.1
* 3.9.5 (set by /root/.pyenv/version)
  3.9.5/envs/devops_platform
  devops_platform --> /root/.pyenv/versions/3.9.5/envs/devops_platform
 类似资料: