文档章节

python高级(4)—— 虚拟环境安装使用

o
 osc_n6euf5h6
发布于 2019/03/19 18:28
字数 1269
阅读 11
收藏 0

精选30+云产品,助力企业轻松上云!>>>

虚拟环境

 

什么是虚拟环境

对电脑稍微有点常识的朋友相信都玩过,比如VMware,virtualbox,或者你用电脑端的模拟器玩手机端的游戏也是一样,其实就是一个假的空间,在Python这里,虚拟环境就是虚拟的开发环境,你可以在里面做任何正常的操作,并且 不会对外部真实电脑环境有任何影响

 

虚拟环境原理介绍:

 

虚拟环境相当于一个抽屉,在这个抽屉中安装的任何软件包都不会影响到其他抽屉。并且在项目中,我可以指定这个项目的虚拟环境来配合我的项目。

 

 

为什么需要虚拟环境:

 

到目前位置,我们所有的第三方包安装都是直接通过pip的方式进行安装的,这样安装会将那个包安装到你的系统级的python环境中。

比如你一直习惯了用django2版本作为web开发,然后你刚进到一个公司,和其他同事一起协作开发,他们用的django1,怎么办?这时候就可以创建两个虚拟环境,正常的使用不同版本的django开发项目

 

安装virtualenv

virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装:

pip install virtualenv

pip3 install virtualenv

 

 

创建虚拟环境:

创建虚拟环境非常简单,通过以下命令就可以创建了:

先选好你准备作为虚拟环境的目录

virtualenv  虚拟环境的名字

 

如果你的电脑安装了有Python2Python3共存,且各个版本都有安装虚拟环境,那么就得看优先级了,我的是Python3,其实原理就是看你电脑的当前的Python3/Scripts的查找路径在Python2/Scripts的前面,那么将会使用python3作为这个虚拟环境的解释器。如果python2/Scriptspython3/Scripts前面,那么将会使用Python2来作为这个虚拟环境的解释器。

 

 

 

 

进入环境:

虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是Windows,第二种是*nix

  1. windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate
  2. *nix进入虚拟环境:source /path/to/virtualenv/bin/activate 一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。

 

 

退出虚拟环境:

退出虚拟环境很简单,通过一个命令就可以完成:deactivate

 

 

创建虚拟环境的时候指定Python解释器:

在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。也就是说比如你的Python2/ScriptsPython3/Scripts的前面,那么你不会经常去更改他们的位置。但是这时候我确实是想在创建虚拟环境的时候用Python3这个版本,这时候可以通过-p参数来指定具体的Python解释器:

virtualenv -p  C:\Python37\python.exe [virutalenv name]

 

注意,指定的Python解释器路径不能有错

 

virtualenvwrapper:

virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。

 

安装virtualenvwrapper

  • *nix(linux,unix):pip install virtualenvwrapper

  • windows:pip install virtualenvwrapper-win

 

 

 

virtualenvwrapper基本使用:

  1. 创建虚拟环境:

mkvirtualenv 虚拟环境名

 

但是你可能会遇到如下问题,提示不是命令 

 

那你很可能是安装成了*nix环境下的包了,卸载重装即可

 

 

 

 

那么会在你当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下。 如果你电脑中安装了python2python3,并且两个版本中都安装了virtualenvwrapper,那么将会使用环境变量中第一个出现的Python版本来作为这个虚拟环境的Python解释器。

  1. 切换到某个虚拟环境:

workon my_env

 

创建好后会自动进入当前创建的虚拟环境

 

 

然后你就可以开始秀你的骚操作了

 

  1. 退出当前虚拟环境:

deactivate

 

 

 

  1. 删除某个虚拟环境:

rmvirtualenv my_env

 

 

 

  1. 列出所有虚拟环境:

lsvirtualenv

 

 

  1. 进入到虚拟环境所在的目录:

cdvirtualenv

 

修改mkvirtualenv的默认路径:

 

在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。

 

创建虚拟环境的时候指定Python版本:

 

在使用mkvirtualenv的时候,可以指定--python的参数来指定具体的python路径:

mkvirtualenv --python==C:\Python37\python.exe hy_env

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
conda基础命令

1、首先在所在系统中安装Anaconda。可以打开命令行输入conda -V检验是否安装以及当前conda的版本。 2、conda常用的命令。 1)conda list 查看安装了哪些包。 2)conda env list 或 conda in...

osc_dmzfpa0c
2019/10/01
4
0
Selenium自动化测试Pytest框架实战——基础篇

前言 pytest框架结合selenium 使用python使用版本为python3.7.3 本章你需要 一定的python基础 一定的selenium基础——不讲selenium,不会的自己去看selenium中文翻译网 浏览器驱动安装 <fon...

osc_y8w65yuq
01/15
21
0
Anaconda创建、激活、退出、删除虚拟环境

在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。 创建虚拟环境: 使用 conda create -n ...

庚夜
2019/12/10
0
0
Win10环境下Anaconda安装常用指令以及环境管理

Anaconda集合了python,Spyder,Jupyter notebook及conda—–包管理器与环境管理器(含常用的panda,numpy等),省去单独下载的繁琐步骤,方便使用。 注:如过已经下载过python,可点击pytho...

osc_dnyaiulv
2019/09/08
6
0
win10下Anaconda3在虚拟环境python_version=3.5.3 中配置pyspark

序 经过了一天的修炼,深深被恶心了,在虚拟环境中配置pyspark花式报错,由于本人实在是不想卸载3.6版的python,所以硬刚了一天,终于摸清了配置方法,并且配置成功,不抱怨了,开讲: 2. 需求...

osc_x5bcobu8
2018/11/18
6
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊rocketmq-client-go的TraceInterceptor

序 本文主要研究一下rocketmq-client-go的TraceInterceptor TraceInterceptor rocketmq-client-go-v2.0.0/producer/interceptor.go // WithTrace support rocketmq trace: https://github.c......

go4it
27分钟前
0
0
如何在Android文本视图周围添加边框? - How do I put a border around an Android textview?

问题: 是否可以在textview周围绘制边框? 解决方案: 参考一: https://stackoom.com/question/EfXR/如何在Android文本视图周围添加边框 参考二: https://oldbug.net/q/EfXR/How-do-I-put...

法国红酒甜
41分钟前
10
0
设计模式(4) 建造者模式

什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了...

zhixin9001
54分钟前
14
0
ArrayList源码分析 —— JDK8

ArrayList的特性 ArrayList内部使用数据作为存储结构,ArrayList可以理解为数组的扩展对象,封装了常用的和非常用的操作数组的方法。以及当数组长度不足以保存数组时,自动扩容数组,通常Arr...

XuePeng77
今天
42
0
__slots__的用法? - Usage of __slots__?

问题: Python中__slots__的目的是什么-尤其是关于何时以及何时不使用它的目的? 解决方案: 参考一: https://stackoom.com/question/1ymu/slots-的用法 参考二: https://oldbug.net/q/1ym...

富含淀粉
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部