前言
pyenv 是一个 python 版本管理工具,可以方便的在工作环境中安装、管理和切换不同版本的 python,结合 pyenv-virtualenv 插件,能够方便的创建和管理 python 虚拟环境,在虚拟环境中的各种操作,并不会影响到系统的正常运行,有效防止乱装 python 版本导致系统崩溃等问题的发生。
过程
我只是站在巨人的肩膀上总结了pyenv和pyenv-virtualenv搭建python虚拟环境,并进行实践,如果大家有什么疑问可以结合我参考的四篇文章进行食用。
参考:
https://www.jianshu.com/p/3e93311fe6cb
https://www.jianshu.com/p/c47c225e4bb5
https://blog.csdn.net/diantun00/article/details/81295505
https://www.cnblogs.com/why174/p/7466615.html
清单
homebrew
get
pyenv
pyenv-virtualenv
homebrew
方法1(官网下载不推荐,容易报错):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
方法二(国内源下载)
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
方法三
通过xcode下载这种方法自行寻找
安装git
brew install git
配置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
安装pyenv
1、安装pyenv
brew install pyenv
2、初始化pyenv
if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)";fi
或
if which pyenv >/dev/null; then eval "$(pyenv init -)";fi
3、生效
eval "$(pyenv init -)"
4、把项目克隆下来,放在家目录下的隐藏文件夹中:.pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
如果已存在pyenv-virtualenv 仓库继续往下执行即可
5、配置环境变量
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
或者
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
6、初始化pyenv
if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)";fi
或者
if which pyenv >/dev/null; then eval "$(pyenv init -)";fi
或者
eval "$(pyenv init -)"
7、检查是否安装成功
which pyenv
如果没有出现结果可以先进行尝试初始化shell
exec $SHELL
8、安装pyenv依赖包
brew install openssl readline sqlite3 xz zlib
安装 pyenv-virtualenv
1、安装pyenv-virtual
brew install pyenv-virtualenv
2、初始化pyenv-virtualenv
if which pyenv-virtualenv >/dev/null; then eval "$(pyenv virtualenv-init -)";fi
或者
eval "$(pyenv virtualenv-init -)"
3、从 Github 克隆 pyenv-virtualenv 仓库
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
4、初始化
if which pyenv-virtualenv >/dev/null; then eval "$(pyenv virtualenv-init -)";fi
或者
eval "$(pyenv virtualenv-init -)"
使用
查看可安装的python版本,展示所有可安装版本
pyenv install --list
安装python环境
pyenv install -v 3.7.5
查看已安装的python版本
pyenv versions
system为系统版本
创建虚拟环境 ,其中3.7.5为Python版本,可自行设置,vir37为虚拟环境的名称,可自行命名
pyenv virtualenv 3.7.5 vir37
切换虚拟环境,其中env271为虚拟环境,与自己的虚拟环境为准
pyenv activate env271
退回系统环境
pyenv deactivate
删除环境
rm -rf ~/.pyenv/versions/env2712