首页
学习
活动
专区
工具
TVP
发布

使用pyenv维护多版本python开发环境

一 前言

开发不同的项目的时候有可能产生安装不同python 版本的需求,那么如何管理多个python版本呢?有大神开发了工具 --pyenv 来解决多版本管理的问题。

pyenv 适合于*Nix系统,估计会有朋友问题为啥不适合windows,看图说话

本文主要讲述基于mac os环境的安装使用,其他*nix系统使用方式类似

安装

1 brew install

brew install pyenv

2 基于git 源码的安装

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

初始化 环境变量

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

source ~/.bash_profile

或者

exec $SHELL

注意:

如果使用了zsh 把下面指令的~/.bash_profile修改为~/.zshrc或者~/.zshenv,建议使用zshrc(zsh默认启动会执行该脚本)。

验证是否安装成功

~ pyenv -v

pyenv 1.2.1-1-g6f27c91

二 使用

2.1 常用指令集:

查看可安装的Python版本

pyenv install --list

安装特定版本的Python

pyenv install

pyenv install 3.6.1

查看pyenv已安装的Python版本,如果装了其他版本那么会显示多个

~ pyenv versions

* system (set by /Users/yangyi/.python-version)

3.6.1

卸载指定的版本

pyenv uninstall

切换本地Python版本

~ pyenv local system

~ python

Python 2.7.10 (default, Feb 6 2017, 23:53:20)

[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

~ pyenv local 3.6.1

~ python

Python 3.6.1 (default, Jan 18 2018, 09:46:41)

[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

~

切换全局的Python版本

pyenv global 3.6.1

2.2 pyenv和virtualenv的搭配使用

pyenv-virtualenv是pyenv的一个plugin,可以用来创建基于不同Python版本的虚拟环境。

# 安装virtualenv插件

~ cd .pyenv/plugins

plugins git:(master) git clone https://github.com/yyuu/pyenv-virtualenv.git

Cloning into 'pyenv-virtualenv'...

remote: Counting objects: 1943, done.

remote: Total 1943 (delta 0), reused 0 (delta 0), pack-reused 1943

Receiving objects: 100% (1943/1943), 547.68 KiB 16.00 KiB/s, done.

Resolving deltas: 100% (1332/1332), done.

Checking connectivity... done.

创建虚拟环境 语法为:

pyenv virtualenv 版本号 虚拟环境名,比如创建2.7版本的虚拟环境

~ pyenv virtualenv mypro_27

New python executable in /Users/yangyi/.pyenv/versions/mypro_27/bin/python

Installing setuptools, pip, wheel...done.

Ignoring indexes: https://pypi.python.org/simple

python git:(master) pyenv virtualenvs

pyenv: version `3.6.1' is not installed (set by /Users/yangyi/python/.python-version)

mypro_27 (created from /System/Library/Frameworks/Python.framework/Versions/2.7)

python git:(master)

python git:(master) pyenv activate mypro_27

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

(mypro_27) python git:(master)

(mypro_27) python git:(master)

(mypro_27) ~ pyenv deactivate # 退出

本文算是一篇how to 文档,日常开发过程中使用 pyenv install/local /global 进行切换基本多版本环境基本满足需求,有兴趣的朋友可以深入探索 pyenv 的各种使用方式。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180120G0PIPZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券