Centos7 python虚拟环境virtualenv和virtualenvwrapper简单介绍
我的系统版本是
[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简单介绍的更多相关文章
- python虚拟环境--virtualenv和virtualenvwrapper
python虚拟环境--virtualenv和virtualenvwrapper http://www.cnblogs.com/technologylife/p/6635631.html https: ...
- os系统安装Python虚拟环境virtualenv和virtualenvwrapper
一.安装Python 上节已经讲了如何安装Python2和Python3 二.给Python3安装virtualenv 在终端输入:sudo pip3 install virtualenv 等待安装成 ...
- Python 虚拟环境Virtualenv
本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境 和 本地环境没有关系,随时可以删除这个隔离 ...
- Centos7虚拟环境virtualenv与virtualenvwrapper的安装及基本使用
一.使用虚拟环境的原因 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难.此时,我们需 ...
- python虚拟环境 -- virtualenv , virtualenvwrapper
virtualenv -- python虚拟沙盒 有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 一.安装 pip install virtualenv ...
- Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)
一.virtualenv virtualenv是如何创建"独立"的Python运行环境的呢? 原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令sour ...
- python之virtualenv 与 virtualenvwrapper 详解
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...
- windows下python虚拟环境virtualenv安装和使用
前面介绍了python在ubuntu16.04环境下,python的虚拟环境virtualenv的安装,下面介绍在windows环境下的安装和使用. 环境信息 操作系统:windows10 pytho ...
- #Python学习#python虚拟环境——virtualenv
前言 在Ubuntu系统中,系统一般会默认安装python2.x和3.x,像我近期买的阿里云ECS默认安装了2.7.2和3.5.2,所有pip安装的第三方包都会被放在默认的site-apckages目 ...
随机推荐
- 李宏毅-Network Compression课程笔记
一.方法总结 Network Pruning Knowledge Distillation Parameter Quantization Architecture Design Dynamic Com ...
- 外网穿透-natapp安装配置(windows)
natapp官网 natapp服务器更新:全面支持HTTPS协议以及本地SSL证书,支持WSS协议.同时支持HTTP/2 WEB协议,支持微信小程序本地开发.全面自动支持泛子域名与访客真实IP地址. ...
- 201871010102-常龙龙《面向对象程序设计(java)》第十周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- Maven 生命周期的阶段与插件的目标之间的绑定关系
clean 生命周期 clean 生命周期的阶段 插件的目标 pre-clean clean maven-clean-plugin:clean post-clean default 生命周期的内置插件 ...
- logging模块、json序列化数据类型、单例、exception和baseException
1.logging模块的作用以及应用场景 https://www.cnblogs.com/petrolero/p/9788134.html 2.json序列化可以处理的数据类型有哪些,如何定制支持da ...
- js toFixed() 四舍五入后并不是你期望的结果
小学的时候学数学就知道有一种叫四舍五入的计算方式,就是对于小数位数的取舍,逢五进一,比如1.225 取两位小数后就是1.23.在前端开发中自己也少不了这样的计算,js也提供了相关的方法--toFixe ...
- git clean (11)
#delete untracked files git clean -f # delete untracked files and directories git clean -fd # -n opt ...
- springboot对JPA的支持
springboot之jpa支持 导入相关pom依赖 <dependency> <groupId>org.springframework.boot</groupId> ...
- [LeetCode] 454. 4Sum II 四数之和之二
Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such t ...
- [LeetCode] 436. Find Right Interval 找右区间
Given a set of intervals, for each of the interval i, check if there exists an interval j whose star ...