pyenv管理多版本python和虚拟环境常用命令
2017-07-24 20:38
671 查看
一直以来是我是采用virtualenvwrapper来管理不同项目的python环境,最近看了下作者的github主页,发现有3年没更新了,不知道作者以后是否还维护此项目,所以就找了一下其他管理python多版本的工具,发现了pyenv,看了下挺不错的,拿来测试下。
我也是用这种方法来安装的,这种方法同时安装pyenv的多个插件,很有用,而且python版本库也是最新的。
除了安装pyenv之外,同时还安装了以下插件:
pyenv-doctor
pyenv-installer
pyenv-update
pyenv-virtualenv
pyenv-which-ext
安装完成后,打开~/.bashrc,把以下命令添加到系统环境变量:
然后执行source ~/.bashrc。
然后在命令行执行pyenv -v就可以查看安装的pyenv信息了。
ps:为了确定pyenv是否正确安装,可以执行pyenv doctor查看。
)下,要卸载,直接移除目录即可。
再在环境变量文件删除一下三行:
pyenv 安装原理:
从官网下载对应的版本压缩包到/tmp/目录,然后在/tmp/目录 执行编译安装,安装到~/.pyenv/versions/下面。
当pyenv下载很慢时,可以先手动下载对应的版本压缩包,放到~/.pyenv/cache/下面,pyenv会校验md5值和完整性,确认无误的话就不会重新下载直接从这里安装。
注意:下载的包名称要和自动下载的包名称一致!
优先级shell > local > global
当前目录中的 .python-version 配置优先于系统全局的 ~/.pyenv/version 配置。
以上命令基本可以满足绝大部分python开发环境搭建的需求,更多命令请关注官方github。
pyenv原理
pyenv 的原理,简单的说就是在系统PATH 最前面插入一个 $(pyenv root)/shims 目录。这样, pyenv 就可以通过控制 shims 目录中的Python版本号,来灵活地切换至我们所需的Python版本。安装pyenv
pyenv有多种安装方法,大家可以去github的pyenv查看,官方推荐用基于github的安装方式。我也是用这种方法来安装的,这种方法同时安装pyenv的多个插件,很有用,而且python版本库也是最新的。
安装
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
除了安装pyenv之外,同时还安装了以下插件:
pyenv-doctor
pyenv-installer
pyenv-update
pyenv-virtualenv
pyenv-which-ext
安装完成后,打开~/.bashrc,把以下命令添加到系统环境变量:
export PATH=$HOME/.pyenv/bin:$PATH eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
然后执行source ~/.bashrc。
然后在命令行执行pyenv -v就可以查看安装的pyenv信息了。
ps:为了确定pyenv是否正确安装,可以执行pyenv doctor查看。
升级
pyenv update
卸载:
pyenv安装在$PYENV_ROOT(默认:~/.pyenv)下,要卸载,直接移除目录即可。
rm -rf ~/.pyenv
再在环境变量文件删除一下三行:
export PATH=$HOME/.pyenv/bin:$PATH eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
pyenv常用命令
查看pyenv版本信息
pyenv -v
升级pyenv
pyenv update
查看可安装的python版本
pyenv install --list
安装指定版本的python环境
# 这里我安装3.6.2 # 同样的,需要安装一些依赖包,不然会报错 yum install -y zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel pyenv install 3.6.2
pyenv 安装原理:
从官网下载对应的版本压缩包到/tmp/目录,然后在/tmp/目录 执行编译安装,安装到~/.pyenv/versions/下面。
当pyenv下载很慢时,可以先手动下载对应的版本压缩包,放到~/.pyenv/cache/下面,pyenv会校验md5值和完整性,确认无误的话就不会重新下载直接从这里安装。
注意:下载的包名称要和自动下载的包名称一致!
查看系统中可用的python版本
# 处于激活状态的版本前面标了* pyenv versions
查看当前处于激活状态的版本
# 括号中内容表示这个版本是由哪条途径激活的(global、local、shell) pyenv version
卸载一个版本
pyenv uninstall 3.6.2
更新数据库
# 一般安装或卸载python版本最好更新一下数据库 pyenv rehash
切换python版本
pyenv 有global(当前系统),local(当前目录),shell三个等级来管理python环境。优先级shell > local > global
当前目录中的 .python-version 配置优先于系统全局的 ~/.pyenv/version 配置。
[root@localhost mx]# pwd /root/mx # 切换全局python环境为系统版本(2.6.6) [root@localhost mx]# pyenv global system [root@localhost mx]# pyenv version system (set by /root/.pyenv/version) [root@localhost mx]# python -V Python 2.6.6 # 切换此目录python环境为3.6.2 [root@localhost mx]# pyenv local 3.6.2 [root@localhost mx]# pyenv version 3.6.2 (set by /root/mx/.python-version) [root@localhost mx]# pip -V pip 9.0.1 from /root/.pyenv/versions/3.6.2/lib/python3.6/site-packages (python 3.6)
创建虚拟环境
我们一般会为一个项目创建一个虚拟环境,pyenv同样可以实现类似virtualenv这样的功能。# 命令格式为pyenv virtualenv PYTHON_VERSION PROJECT_NAME [root@localhost ~]# pyenv virtualenv 3.6.2 myblog_py36
查看虚拟环境列表
pyenv virtualenvs
[root@localhost ~]# pyenv virtualenvs 3.6.2/envs/myblog_py36 (created from /root/.pyenv/versions/3.6.2) myblog_py36 (created from /root/.pyenv/versions/3.6.2)
进入虚拟环境
pyenv active ENV_NAME # 我们可以把项目目录的local环境指定为创建的虚拟环境,这样就可以用local或者activate两种方法进入虚拟环境了。
[root@localhost ~]# pyenv activate myblog_py36 (myblog_py36) [root@localhost ~]# pip -V pip 9.0.1 from /root/.pyenv/versions/3.6.2/envs/myblog_py36/lib/python3.6/site-packages (python 3.6)
退出虚拟环境
pyenv deactivate ENV_NAME
(myblog_py36) [root@localhost ~]# pyenv deactivate [root@localhost ~]# pyenv version system (set by /root/.pyenv/version) [root@localhost ~]#
卸载虚拟环境
pyenv uninstall ENV_NAME
以上命令基本可以满足绝大部分python开发环境搭建的需求,更多命令请关注官方github。
相关文章推荐
- Mac OS 上用pyenv和pyenv-virtualenv管理多个Python多版本及虚拟环境
- Python linux 上的管理工具 pyenv 安装, pip 使用, python项目(版本分割, 项目分割, 虚拟环境创建)
- 用pyenv和virtualenv搭建单机多版本python虚拟开发环境-命令
- 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- 【Python配置】使用pyenv与virtualenv搭建单机多版本python多虚拟环境开发
- 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- 用pyenv和virtualenv搭建单机多版本python虚拟开发环境
- python版本管理和虚拟环境
- pyenv virtualenv完美创建区分python版本的虚拟环境
- Python 版本切换pyenv常用命令
- 通过pyenv和virtualenv创建多版本Python虚拟环境
- [转]用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- 【转载】CentOS下用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- pyenv命令管理多个Python版本
- 使用 pyenv 管理多个版本 python 环境
- 详解使用 pyenv 管理多个版本 python 环境
- Python linux多版本共存以及虚拟环境管理
- Python多版本管理工具pyenv及环境隔离工具virtualenv