踩了很多坑,记录一下这次试验,本次测试环境:Linux centos7 64位。

pyenv是一个python版本管理工具,它能够进行全局的python版本切换,也可以为单个项目提供对应的python版本,使用pyenv以后,可以在服务器上安装多个不同的python版本,版本切换方便,能够更好的满足我们的需求。

virtualenv是一个管理不同项目的工具,用以隔离不同项目的工作环境,在同一个python版本实现不同的环境需求。

pyenv与virtualenv配合使用,可以更好的管理我们在Linux系统中python环境。

1,开始prenv的安装:

下载项目到本地

 yum install git -y
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

配置环境变量

 echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

source 命令重新载入配置文件:

 source ~/.bashrc
 #验证pyenv是否正确安装:
pyenv --help #查看pyenv支持安装的python版本:
pyenv install --list

安装一下python的依赖:

 yum install gcc -y
yum install openssl-devel bizp2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y

到了这里我们就可以用pyenv 安装不同的python 版本了,这里的3.7.2与2.7.5是要安装的python版本。

这里要是用官方的源地址下载会非常的慢,甚至不动,,我们修改为国内的下载地址,首先去淘宝下载源:  http://npm.taobao.org/mirrors/python   找到自己需要安装的版本

比如我拿了这两个地址:

http://npm.taobao.org/mirrors/python/2.7.5/Python-2.7.5.tar.xz
http://npm.taobao.org/mirrors/python/3.7.2/Python-3.7.2.tar.xz

然后我分别修改这两个文件

~/.pyenv/plugins/python-build/share/python-build/2.7.5

~/.pyenv/plugins/python-build/share/python-build/3.7.2

退出保存,然后执行下面命令下载速度就会非常的快

 pyenv install -v 3.7.2
pyenv install -v 2.7.5

这里有几个pyenv常用命令:

 #查看当前安装的python版本
pyenv versions #切换选择当前python版本
pyenv global 3.7.2 #删除python版本
pyenv uninstall 2.7.2

pyenv安装完成!

2,开始安装 pyenv-virtualenv

下载项目到本地

 git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
 #配置环境变量
echo 'echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile #source 命令重新载入配置文件:
source ~/.bashrc #查看是否安装成功
pyenv help virtualenv

创建python2.7.5版本的虚拟工作环境:project_27_1  和  创建python3.7.2版本的虚拟工作环境:project_37_1

 pyenv virtualenv 2.7.5 project_27_1
pyenv virtualenv 3.7.2 project_37_1
 #查看创建的工作环境
pyenv virtualenvs

使用实例:

 #进入环境project_27_1
pyenv activate project_27_1
#在该环境安装0.8版本的flask
pip install flask==0.8
#退出当前工作环境
pyenv deactivate #删除虚拟环境first_project
pyenv virtualenv-delete project_27_1

【python】pyenv与virtualenv安装,实现python多版本多项目管理的更多相关文章

  1. python第一天(安装运行python)

    1. 安装Python 3.7 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的.由于3.x版越来越普及,我们的教程将以最新的Python 3.7版本为基础.请确保你 ...

  2. python学习笔记:安装boost python库以及使用boost.python库封装

    学习是一个累积的过程.在这个过程中,我们不仅要学习新的知识,还需要将以前学到的知识进行回顾总结. 前面讲述了Python使用ctypes直接调用动态库和使用Python的C语言API封装C函数, C+ ...

  3. 在Debian9(linux)上使用 的 python 3 IDLE(已经安装了python 2.7 的情况下)

    在Debian9(Stable)中默认安装了python2.7和pytohon3.5两个版本,但是没有IDLE,本人想用pytihon3.5的IDLE,将本次解决问题在此Mark一下, 首先,执行 s ...

  4. Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED

    Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...

  5. Linux配置python环境2,安装python

    安装锁需要的依赖包 sudo apt-get -y install gcc-5 g++-5 libc6-dev make build-essential libssl-dev zlib1g-dev l ...

  6. win10系统安装两个版本的python,该怎么安装Django

    最近遇到一个问题,系统上安装了python2,7 和python3.5两个版本,然后使用命令:pip install Django 安装Django后却发现以下情况: Traceback (most ...

  7. windows下python常用库的安装

    windows下python常用库的安装,前提安装了annaconda 的python开发环境.只要已经安装了anaconda,要安装别的库就很简单了.只要使用pip即可,正常安装好python,都会 ...

  8. CentOS下用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境

    安装 系统环境:CentOS 6.5 安装依赖 yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline- ...

  9. 通过pyenv和virtualenv创建多版本Python虚拟环境

    虚拟环境使用第三方工具virtualenv创建,首先输入以下命令检查系统是否已经安装virtualenv. $ virtualenv --version 如果显示virtualenv版本号,则说明已经 ...

随机推荐

  1. [BZOJ4817][SDOI2017]树点涂色:Link-Cut Tree+线段树

    分析 与[BZOJ3779]重组病毒唯一的区别是多了一个链上求实链段数的操作. 因为每条实链的颜色必然不相同且一条实链上不会有两个深度相同的点(好像算法的正确性和第二个条件没什么关系,算了算了),画图 ...

  2. dispatch_sync 与 dispatch_barrier_sync 区别

    最后更新:2017-12-12 dispatch_sync 与 dispatch_barrier_sync https://github.com/rs/SDWebImage/pull/818 The ...

  3. 使用tushare获取股票历史数据和实时分笔数据

    使用tushare获取股票历史数据和实时分笔数据   财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据 ...

  4. Markdown Memo(memorandum)

    居中 html语法 <center>居中</center> 左对齐 <p align="left">左对齐</p> 右对齐 < ...

  5. 简单三步同步你的 VSCode 用户配置

    https://www.cnblogs.com/knight-errant/p/10444777.html 设备重装,换设备,VSCode 又要重新配置了?不不不,简单三步,让你的 VSCode 配置 ...

  6. 协议-TCP:TCP

    ylbtech-协议-TCP:TCP 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793 ...

  7. liunx 定时任务crontab格式说明

    每分钟执行 */1 * * * * 每小时执行 0 * * * * 每天执行 0 0 * * * 每周执行 0 0 * * 0 每月执行 0 0 1 * * 每年执行 0 0 1 1 *

  8. javascript 动态修改css样式方法汇总(四种方法)

    在很多情况下,都需要对网页上元素的样式进行动态的修改.在JavaScript中提供几种方式动态的修改样式,下面将介绍方法的使用.效果.以及缺陷. 1.使用obj.className来修改样式表的类名. ...

  9. python值的引用传递和go语言的值传递

    一:值传递 实参a 原本指向地址 1638212,代表1638212这个地址的值是3.在swap函数中,实参a将值拷贝给形参a,形参a此时也在内存中拥有地址,地址= xxxx,值为3,在所有的函数体内 ...

  10. 抓包工具tcpdump用法说明--2

    第一招: 通俗的说,tcpdump是一个抓包工具,用于抓取互联网上传输的数据包.形象的说,tcpdump就好比是国家海关,驻扎在出入境的咽喉要道,凡是要入境和出境的集装箱,海关人员总要打开箱子,看看里 ...