linux环境下pyenv、virtualenv、virtualenvwrapper区别及使用


pyenv

如果你想要拥有多个python版本且不会乱,pyenv可以很好的帮你管理python各个版本


例如:一个服务器要布置多个项目的时候,可能python的版本并不是同一个。pyenv可能会帮你大忙

安装

  • 将pyenv安装到~/.pyenv(当前用户的家目录下,例如你是用test用户登录的,则安装在test用户的家目录下面。如果服务器是多人操作,最好root目录不要做任何修改,所有东西都放在当前用户下面)
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  • 配置环境变量(如果系统是zsh,请添加到~/.zshrc)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
  • 添加 pyenv 初始化(如果系统是zsh,请添加到~/.zshrc)
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
  • 查看.bashrc中内容,在最末尾追加三行
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
  • 使.bashrc配置生效,如没有生效则推出连接重新登录试试
source ~/.bashrc

使用

  • 查看有哪些 Python 版本可以安装
pyenv install --list
  • 安装某个 Python 版本
pyenv install -v 3.6.8  # 所有安装的python版本都会放在.pyenv/versions/目录下
  • 查看当前 Python 版本情况(* 表示系统当前的 Python 版本,system表示系统初始版本)
[smsyu@alg-ser01 ~]$ pyenv versions
  system
* 3.6.8 (set by /home/smsyu/.python-version)
  3.8.1

[smsyu@alg-ser01 ~]$ which python  # 当前python使用路径
~/.pyenv/shims/python
[smsyu@alg-ser01 ~]$ python -V  # 当前python版本
Python 3.6.8
[smsyu@alg-ser01 ~]$ pyenv version   # 查看当前已激活的Python版本
3.6.8 (set by /home/smsyu/.python-version)

  • 切换 Python 版本(切换之后查看当前版本)

    • Python的全局设置,整个系统生效

      pyenv global 3.8.1
      
    • Python的局部设置,当前目录生效(场景:切换到项目,然后选择对应的python版本,缺点:一个python版本只能有一个环境)

      [smsyu@alg-ser01 test]$ python -V
      Python 3.6.8
      [smsyu@alg-ser01 test]$ pyenv local 3.8.1
      [smsyu@alg-ser01 test]$ python -V
      Python 3.8.1
      
      
  • 取消设置, 使当前目录local设置失效。

pyenv local --unset
  • 卸载某个 Python 版本
pyenv uninstall 3.6.8

virtualenv

可以使同一个python版本拥有不同的python环境
缺点:会在对应的项目下创建环境文件夹

安装

  • 注意:在安装之前确定当前python是哪个版本,当然可以安装到任意版本中,但我个人习惯有一个主版本(常用版本)
pip install virtualenv

使用

  • 新建一个目录(一般用来用作工程路径)
mkdir test
  • 进入创建的目录中,创建一个完全独立干净的虚拟环境
    • 不带任何参数,默认使用当前所使用的python版本,可以使用python -V查看python版本,
    virtualenv venv  # venv指的是虚拟环境名字,可以是任何名字
    
    [smsyu@alg-ser01 test]$ ls
    venv
    
    • 创建虚拟环境并指定python版本
    pyenv -p ~/.pyenv/versions/2.7.5/bin/python myenv  # myenv指的是虚拟环境名字,可以是任何名字
    
  • 激活虚拟环境
[smsyu@alg-ser01 mypro]$ source myenv/bin/activate
(myenv) [smsyu@alg-ser01 mypro]$ python -V
Python 2.7.5
  • 退出虚拟环境
(myenv) [smsyu@alg-ser01 mypro]$ deactivate

virtualenvwrapper

会把所有的虚拟环境放置在同一处,统一管理,使用方便

安装

安装(确保 virtualenv 已经安装了)

pip install virtualenvwrapper

配置

  • 在.bashrc(或.zshrc)中添加下列内容:
export WORKON_HOME=$HOME/.virtualenvs  # 创建虚拟环境目录,所有虚拟环境都会放到当前目录的.virtualenvs文件夹中,.virtualenvs可以是任意名字
source $HOME/.pyenv/versions/3.6.8/bin/virtualenvwrapper.sh  # 激活虚拟环境指令(每个人的路径都不一样,随你的python路径变化而变化)

默认virtualenvwrapper安装在下面python解释器中的site-packages,实际上需要运行virtualenvwrapper.sh文件才行;所以需要先进行配置一下:

找到virtualenvwrapper.sh的路径:find / -name virtualenvwrapper.sh

  • 启用配置
source ~/.bashrc

使用

  • 创建一个虚拟环境并使用当前python版本
mkvirtualenv testenv  # testenv虚拟环境名字,可以是任何名字
  • 创建一个虚拟环境并指定python版本
 mkvirtualenv -p ~/.pyenv/versions/3.6.8/bin/python env368
  • 查看所有虚拟环境
workon
  • 选择并进入虚拟环境
workon env368  # env368是我刚才创建的环境名字
  • 退出虚拟环境
deactivate
  • 删除虚拟环境
rmvirtualenv env368

总结

有了pyenv和virtualenvwrapper可以帮我们很轻松的管理所有的环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值