我的系统版本是

[root@localhost ~]# cat /etc/os-release

我的Python版本是

[root@localhost ~]# python3 -V

关于如何安装Python请看我的django环境搭建的博客https://www.cnblogs.com/caesar-id/p/10791791.html

下面我们来开始搭建基于Python3.6.2版本的虚拟环境virtualenv:

1、由于Centos自带的yum源下载软件比较慢,这里我们使用国内阿里的yum源。

备份系统自带的yun源

[root@localhost ~]# mkdir /etc/yum.repos.d/backup

[root@localhost ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup/

我们到阿里的镜像站https://opsx.alibaba.com/mirror选择一个合适的yum源

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@localhost ~]# yum clean all        # 清除原来的yum缓存

[root@localhost ~]# yum makecache        # 生成新的缓存

163源:http://mirrors.163.com/.help/centos.html

中科大源:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

2、安装Python3的虚拟模块virtualenv

[root@localhost ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

安装后使用pip3  list进行查看

3、创建virtualenv虚拟环境

[root@localhost opt]#cd  /opt

[root@localhost opt]# virtualenv --no-site-packages --python=python3 env_1

--no-site-packages:表示使用一个只有Python3的环境,而不导入原来Python3中安装模块。

--python=python3:指定要被虚拟的解释器环境。

env_1:表示虚拟的Python环境目录。

4、创建好虚拟环境后,需要激活虚拟目录

[root@localhost opt]# source env_1/bin/activate      # 激活虚拟目录

激活成功后我们发现原来的路径前出现了虚拟环境的目录,这样我们便成功激活并进入到了虚拟环境中。

我们来看下env_1的虚拟目录下都有哪些文件

我们在看看bin目录下都有什么

查看下pip3命令

我们可以发现现在的Python环境全部都是env_1下的Python环境。在来查看下当前虚拟环境是否是纯净的Python环境

虚拟环境只有纯净的Python环境,没有掺杂系统原本安装的模块,也许你现在还没有发现他的魅力所在,下面我们开始吧。

5、在env_1的虚拟环境下安装django1.11.20

(env_1) [root@localhost opt]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.20

安装好后我们使用pip3 list查看下

安装成功后,我们创建一个django项目django_1

(env_1) [root@localhost opt]# django-admin startproject django_1

(env_1) [root@localhost opt]# vim django_1/django_1/settings.py     # 修改配置文件允许其它主机可以访问

启动django项目

(env_1) [root@localhost opt]# python3 django_1/manage.py runserver 0.0.0.0:

访问django项目前,我们需要暂时清空本机的防火墙规则,或者暂时关闭防火墙,否则在访问本机8000端口时会被防火墙拒之门外的,我们新开一个shell。

[root@localhost opt]#iptables  -F  # 清空防火墙规则

[root@localhost ~]# systemctl stop firewalld.service   # 也可以暂时关闭防火墙

如果上面一切顺利的话,我们将看到如下界面。

6、下面我们在创建个虚拟环境env_2(注意:你需要另开一个新shell来创建虚拟环境env_2)

[root@localhost ~]# virtualenv --no-site-packages --python=python3 env_2

7、激活虚拟环境

[root@localhost ~]# source env_2/bin/activate

此时我们在看下pip3和python3

可以发现是env_2下的Python3和pip3,在来查看下pip  list

发现还是纯净的Python环境,virtualenv正逐渐的向我们展示它强大的一面。下面我们在env_2中安装django2.0

8、安装django2.0

(env_2) [root@localhost ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==2.0

9、创建django2.0的项目

(env_2) [root@localhost ~]# django-admin startproject django_2

(env_2) [root@localhost ~]# vim django_2/django_2/settings.py 

10、启动django2.0项目

(env_2) [root@localhost ~]# python3 django_2/manage.py runserver 0.0.0.0:

11、访问django2.0项目

这样我们便实现了在一个操作系统上同时运行django1.0和django2.0两个环境,也许你可能觉得这还不够,还有更多的功能等待我们去探索。

12、好了既然可以运行虚拟环境,下面我们来看看如何退出虚拟环境。其实很简单,如下:

(env_2) [root@localhost ~]# deactivate    # 退出虚拟环境

我们都知道Linux一切皆文件,所以如果想要删除虚拟环境只需rm -r  env_1把虚拟环境的文件夹删掉即可,好了virtualenv我们就简单介绍到这里。

如果想要了解更多功能,请访问virtualenv官网https://virtualenv.pypa.io/en/latest/


virtualenv 虽然功能很好用,但是有一个最大的缺点就是每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

并且还有可能你忘记了虚拟环境放在哪以及该虚拟环境对应哪个项目。一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。但即使这样在项目多的时候貌似也不是很方便,于是virtualenvwrapper便站了出来要解决这个问题,下面我们简单了解下virtualenvwrapper的使用。

1、安装virtualenvwrapper

[root@localhost ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper

安装成功后看起来像下面这个样子:

2、安装成功后,设置开机启动。

我们可以在/etc/profile中设置开机自启动,这样的话会影响系统所有用户,也可以在用户家目录下~/.bash_profile针对某个用户进行设置。

这里我们针对root用户进行设置。

[root@localhost ~]# vim ~/.bash_profile      # 在配置文件的末尾我们添加如下配置

[root@localhost ~]# source  ~/.bash_profile     # 使文件立即生效

3、我们在开一个shell登陆root,创建虚拟环境

[root@localhost Envs]# mkvirtualenv env_django_1

使用pip3 list 查看一下:

下面的使用就和virtualenv类似了,这里不再重复。退出虚拟环境和virtualenv一样

(env_django_1) [root@localhost Envs]# deactivate    # 退出虚拟环境

4、激活工作目录和virtualenv不同,使用workon

[root@localhost Envs]# workon env_django_1    # 激活虚拟环境

5、查看有哪些虚拟环境

[root@localhost Envs]# lsvirtualenv 

6、删除虚拟环境

[root@localhost Envs]# rmvirtualenv env_django_1

跟多有趣的内容请看官方文档:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

Centos7 python虚拟环境virtualenv和virtualenvwrapper简单介绍的更多相关文章

  1. python虚拟环境--virtualenv和virtualenvwrapper

    python虚拟环境--virtualenv和virtualenvwrapper http://www.cnblogs.com/technologylife/p/6635631.html https: ...

  2. os系统安装Python虚拟环境virtualenv和virtualenvwrapper

    一.安装Python 上节已经讲了如何安装Python2和Python3 二.给Python3安装virtualenv 在终端输入:sudo pip3 install virtualenv 等待安装成 ...

  3. Python 虚拟环境Virtualenv

    本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境  和 本地环境没有关系,随时可以删除这个隔离 ...

  4. Centos7虚拟环境virtualenv与virtualenvwrapper的安装及基本使用

    一.使用虚拟环境的原因 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难.此时,我们需 ...

  5. python虚拟环境 -- virtualenv , virtualenvwrapper

    virtualenv -- python虚拟沙盒 有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 一.安装 pip install virtualenv ...

  6. Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)

    一.virtualenv virtualenv是如何创建"独立"的Python运行环境的呢? 原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令sour ...

  7. python之virtualenv 与 virtualenvwrapper 详解

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...

  8. windows下python虚拟环境virtualenv安装和使用

    前面介绍了python在ubuntu16.04环境下,python的虚拟环境virtualenv的安装,下面介绍在windows环境下的安装和使用. 环境信息 操作系统:windows10 pytho ...

  9. #Python学习#python虚拟环境——virtualenv

    前言 在Ubuntu系统中,系统一般会默认安装python2.x和3.x,像我近期买的阿里云ECS默认安装了2.7.2和3.5.2,所有pip安装的第三方包都会被放在默认的site-apckages目 ...

随机推荐

  1. c# 拉姆达表达式实现List去重

    c# 拉姆达表达式实现List去重 var list = studentlist.OrderByDescending(a => a.CreateDate).ToList(); Console.W ...

  2. APP自动化环境配置

    做自动化很多人都不喜欢做app自动化,说实话,我也不喜欢做app自动化,但是没办法,老板给你钱,让你做,不得不做! 其实app自动化的难点就在于环境,环境OK了之后一切都和web自动化差不多,顶多就是 ...

  3. 算法竞赛入门经典 LA 4329(树状数组)

    题意: 一排有着不同能力值的人比赛,规定裁判的序号只能在两人之间,而且技能值也只能在两人之间 问题: <算法竞赛入门经典-训练指南>的分析: 上代码: #include<iostre ...

  4. 莫烦TensorFlow_07 tensorboard可视化

    import tensorflow as tf import numpy as np import matplotlib.pyplot as plt def add_layer(inputs, in_ ...

  5. 阿里云serverless使用笔记

    1.使用api网关服务,创建完api后,测试时,需要传“请求签名”,否则会报401 ‘Empty Signature’错误.相关文档<错误编码表,请求签名>.(错误信息放置与响应头的‘x- ...

  6. LG5201 「USACO2019JAN」Shortcut 最短路树

    \(\mathrm{Shortcut}\) 问题描述 LG5201 题解 最短路树. 显然奶牛的路径就是从\(1\)走到各个草地,于是从\(1\)跑最短路,构建最短路树. 为了保证字典序,从\(1\) ...

  7. Web数据交互技术

    作者 | Jeskson 来源 | 达达前端小酒馆 web的概念 web叫全球广域网,可以叫做万维网,是一种分布式结构,建立在Internet上的网络服务.万维网共享分布在网络上的各个服务器中的所有互 ...

  8. [LeetCode] 912. Sort an Array 数组排序

    Given an array of integers nums, sort the array in ascending order. Example 1: Input: [5,2,3,1] Outp ...

  9. FWT-快速沃尔什变换

    FWT-快速沃尔什变换 FWT有啥用啊 我们知道,FFT可以解决多项式的卷积,即 \[ C_k=\sum_{i+j=k}A_i*B_j \] 如果将操作符换一下,换成集合运算符 比如 \[ C_k=\ ...

  10. spring( 二 ) DispatcherServlet

    参考文档: https://blog.csdn.net/sjjsh2/article/details/53054203 https://blog.csdn.net/w214019153/article ...