通过pyenv实现linux多版本python共存
来源:互联网 发布:国内大数据公司现状 编辑:程序博客网 时间:2024/04/19 20:49
随着python 3的发布,大家在学习和使用python的时候可能会遇到多个版本切换的需求,如果每次切换都手动去修改环境变量就太麻烦了,通过pyenv这个工具,你可以随时切换任意版本的python用作当前开发环境!
工具/原料
- linux系统
- git命令工具
方法/步骤
1.安装 Python 的依赖包
在编译 Python 过程中会依赖一些其他库文件,因而需要首先安装这些库文件,已知的一些需要预先安装的库如下。在 Ubuntu下:
$ sudo apt-get update$ sudo apt-get install make build-essential libssl-dev zlib1g-dev$ sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl$ sudo apt-get install llvm libncurses5-dev libncursesw5-dev
2.安装 pyenv
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv$ vi ~/.bashrcexport PYENV_ROOT="$HOME/.pyenv"export PATH = "$PYENV_ROOT/bin:$PATH"eval "$(pyenv init -)"source ~/.bashrc# exec $SHELL#查看当前 pyenv 可检测到的所有版本,处于激活状态的版本前以 * 标示$ pyenv versions3.pyenv常用命令# 查看当前 pyenv 可检测到的所有版本,处于激活状态的版本前以 * 标示。$ pyenv versions system* 3.5.1 (set by /root/.pyenv/version) 3.5.1/envs/flask_py351 3.5.1/envs/pelican flask_py351 pelican# 查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)$ pyenv version3.5.1 (set by /root/.pyenv/version)# 使用python-build(一个插件)安装一个Python版本,到$PYENV_ROOT/versions路径下。$ pyenv install -v 2.7.3# 卸载$ pyenv uninstall 2.7.3# 为所有已安装的可执行文件 (如:~/.pyenv/versions/*/bin/*) 创建 shims,# 因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令$ pyenv rehash# 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。$ pyenv global 3.4.0# 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。# 通过这种方式设置的 Python 版本优先级较 global 高。pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。#若找不到,就用 global 版本。$ pyenv local 2.7.3# 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。# 这个版本的优先级比 local 和 global 都要高。--unset 参数可以用于取消当前 shell 设定的版本。$ pyenv shell pypy-2.2.1$ pyenv shell --unset# 创建新的环境,位于 ~/.pyenv/versions/$ pyenv virtualenv 2.7.1 env271# 切换到新的环境$ pyenv activate env271# 退回到系统环境$ pyenv deactivate# 删除新创建的环境$ rm -rf ~/.pyenv/versions/env271/# 创建新的环境,位于 ~/.pyenv/versions/$ pyenv virtualenv 2.7.1 env271# 切换到新的环境$ pyenv activate env271# 退回到系统环境$ pyenv deactivate# 删除新创建的环境$ rm -rf ~/.pyenv/versions/env271/# 创建新的环境,位于 ~/.pyenv/versions/$ pyenv virtualenv 2.7.1 env271# 切换到新的环境$ pyenv activate env271# 退回到系统环境$ pyenv deactivate# 删除新创建的环境$ rm -rf ~/.pyenv/versions/env271/# 创建新的环境,位于 ~/.pyenv/versions/$ pyenv virtualenv 2.7.1 env271# 切换到新的环境$ pyenv activate env271# 退回到系统环境$ pyenv deactivate# 删除新创建的环境$ rm -rf ~/.pyenv/versions/env271/$ pyenv install --list$ pyenv 3.5.1 install -v## refresh database$ pyenv rehash## if not new installed version, do like :$ pyenv global 3.5.1
3.注意事項
首先系统中要有git命令工具
pyenv只针对当前用户的环境变量做控制
4.安装 pyenv-virtualenv插件
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv$ echo 'eval "$(pyenv virtualenv-init -)"' >> .bashrc$ source .bashrc
5.利用pyenv-virtualenv插件创建python虚拟环境
(1)创建一个3.5.3的环境:$ pyenv virtualenv 3.5.3 env353 (这条命令在本机上创建了一个名为env353的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/)
(2)切换和使用新的python虚拟环境: $ pyenv activate env353
(3)环境验证
此时:python版本已经是3.5.3, 而且是在虚拟环境之中(env353),这时可以对这个环境进行任意包的安装,且不会对其他环境造成影响
(4)离开环境:$ pyenv deactivate
参考:
1.http://www.jianshu.com/p/a23448208d9a
2.http://blog.csdn.net/magedu_linux/article/details/48528257
3.http://blog.csdn.net/guoyunfei20/article/details/73350393
4.http://python.jobbole.com/85587/
5.http://blog.csdn.net/eric_sunah/article/details/56289937
6.https://segmentfault.com/a/1190000004020387
7.http://www.cnblogs.com/npumenglei/p/3719412.html
8.Python多版本切换工具-Pyenv\virtualenv及Anaconda科学计算环境的配置
9.pyenv + anaconda 4.2 + python3.5+ ubuntu 16.04 安装
10.使用pyenv安装多个Python版本
11.Ubuntu16.04下,通过pyenv安装anaconda,并安装tensorflow-gpu和opencv等库的简单方法
12.用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- 通过pyenv实现linux多版本python共存
- pyenv python多版本共存
- ubuntu系统用pyenv实现python多版本共存
- {转}Linux下 Python多版本共存之pyenv
- Python多版本共存之pyenv
- Python多版本共存之pyenv
- Python 多版本共存之 pyenv
- Python多版本共存管理工具之pyenv
- Python 多版本共存之 pyenv
- Python 多版本共存之 pyenv
- Python -- Mac OS下通过pyenv使Python多版本共存
- Mac/Linux多版本Python共存之Pyenv,PyCharm多版本切换
- python多版本共存之道——Pyenv
- pyenv安装与使用-多版本python共存解决方法
- 用pyenv解决在centos7下多版本python共存问题
- Linux 下的 Python 多版本管理(pyenv)
- 使用pyenv安装多个Python版本
- 使用 pyenv 管理多个python版本
- 笨办法学python 习题46-windows
- IPython和IPython Notebook的安装和简单应用
- Hbase regionserver 内存
- 【Leetcode】【python】Same Tree
- 图像处理27:图像融合
- 通过pyenv实现linux多版本python共存
- 计算机视觉小实例 No.4 车牌定位(一)
- [文献阅读]dropout
- 算法五
- PAT甲级1060. Are They Equal
- Spring-bean之间的关系
- 树规+贪心 问题 B: [Poi2014]FarmCraft
- 用virtualenv管理python3运行环境
- PAT甲级1011. World Cup Betting