什么是虚拟环境

python特有的一种软件环境,创建多个python环境,各个环境之间完全隔离,互不影响。它可以用来解决Python项目开发和运行过程中的依赖项和版本问题,而不必和其他项目的Python环境以及全局的Python环境发生冲突。

安装

$ pip install virtualenv

注:Linux下默认未安装pip,需要手动安装pip命令。

sudo apt install python-pip    #python2.7安装
sudo apt install python3-pip   # python3安装
pip install --upgrade pip      #pip 更新

创建虚拟环境

安装完成后,可以使用 virtualenv 命令创建放置虚拟环境的目录:

$ virtualenv  [OPTIONS]  [虚拟环境名称]

-p PYTHON_EXE, --python=PYTHON_EXE 指定生成的虚拟环境使用的Python解释器:

 #顺序都可以virtualenv -p /usr/bin/python3.6 ENVvirtualenv  ENV --python=python3.6virtualenv  --python=python3.6 ENV

ENV/libENV/include 目录中包含了虚拟环境ENV使用的库文件。在虚拟环境中安装的第三方包会安装在 ENV/lib/python3.4/site-packages 目录下。

ENV/bin 目录里面放置了可执行文件,在里面有新安装的Python 包中的可执行程序,包括pip等相关工具。

OPTIONS参数:

--no-site-packages 参数:

默认情况下,虚拟环境会依赖系统环境中的 sit package,就是说系统中已经安装好的第三方 package 也会安装在虚拟环境中,如果不想依赖这些 package,那么可以加上 --no-site-packages 参数建立虚拟环境。

$  virtualenv --no-site-packages [虚拟环境名称]
--version 显示软件的版本号:
# virtualenv --version
-h, --help 显示帮助信息:
# virtualenv -h
--no-setuptools 在新建的虚拟环境中不安装工具包:
# virtualenv --no-setuptools ENV
--no-pip 在新建的虚拟环境中不安装pip:
# virtualenv --no-pip ENV
--no-wheel 在新建的虚拟环境中不安装 wheel:
# virtualenv --no-wheel ENV

启动环境

新创建的虚拟环境目录中有一个启动脚本 ENV/bin/activate ,直接使用 source 命令来启动虚拟环境。

$ source ENV/bin/activate

退出环境

退出当前虚拟环境使用 deactivate 命令。

$ deactivate

安装 virtualenvwrapper 扩展包

Virtaulenvwrapper 是 virtualenv 的扩展包,可以把新创建的环境记录下来,不需要每次启动虚拟环境时都执行一遍 source 命令,可以更方便的管理虚拟环境。
它可以实现:
1、将所有虚拟环境整合在一个目录下
2、管理(新增,删除,复制)虚拟环境
3、快速切换虚拟环境

安装 virtualenvwrapper

$ pip install virtualenvwrapper

此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,里面有安装步骤,我们照着操作把环境设置好。

创建存放虚拟环境的目录

# $HOME是用户主目录
$ mkdir $HOME/.virtualenvs

进入 用户主目录,打开 .bashrc 文件,添加如下代码:

export WORKON_HOME=$HOME/.virtualenvs
#export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

WORKON_HOME: 告诉 virtualenvwrapper 在哪里放置你的虚拟环境,默认是在 $HOME/.virtualenvs 目录下。如果这个目录不存在,virtualenvwrapper 运行的时候会自动创建它。

PROJECT_HOME :告诉virtualenvwrapper在哪里存放你的项目的工作目录

执行 source 命令,使刚添加的代码生效:

$ source .bashrc

windows下安装virtualenvwrapper

pip install virtualenvwrapper-win

设置环境变量

在系统变量中新建“变量名”:WORKON_HOME:“你自定义的路径”。

使用 virtualenvwrapper

虚拟环境相关操作:

lsvirtualenv: 列出虚拟环境列表(个人喜欢用第二个)
workon+Enter: 列出虚拟环境列表
mkvirtualenv [虚拟环境名称]: 新建虚拟环境
workon [虚拟环境名称]: 切换虚拟环境
rmvirtualenv [虚拟环境名称]: 删除虚拟环境
deactivate: 离开虚拟环境

python的虚拟环境相关推荐

  1. Python的虚拟环境配置(pyenv+virtualenv)

    一.为什么需要配置虚拟环境 Python 2和Python 3之间存在着较大的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存.在实际工作过程中,我们可能会同时用到Pytho ...

  2. 创建python的虚拟环境(图文教程),并使用。

    创建python的虚拟环境 第一步:打开anaconda命令行,即打开anaconda prompt. base的主环境切换到虚拟环境nlp (base) C:\Users\user>conda ...

  3. Python的虚拟环境virtualenv

    Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpreter,而不用与其他Python程序共享统一个library和interpreter.虚拟环境的好处是 ...

  4. 使用python的虚拟环境virtualenv

    技术背景 在前面几篇博客中我们介绍了容器的使用(博客1.博客2.博客3.博客4.博客5),容器是一种系统级的隔离方案,更多的强调资源上的隔离.而这里我们要介绍的python的虚拟环境,更加强调的是依赖 ...

  5. 群晖、任务计划、python、虚拟环境

    群晖.任务计划.python.虚拟环境 需求 在群晖nas里面运行python,监测小说更新章节 方案思路 群晖python安装pip 群晖内创建python虚拟环境 使用虚拟环境下载相关模块 使用任 ...

  6. 【Python】Python创建虚拟环境的三种方式

    Python创建虚拟环境的三种方式比较 Python创建虚拟环境的三种方式 首先:为什么需要虚拟环境? Pipenv vs Virtualenv vs Conda 1. Virtualenv 2. P ...

  7. Python 的虚拟环境

    Python 的虚拟环境 1 为什么创建虚拟环境 2 安装虚拟环境库 3 虚拟环境操作命令 3.1 创建虚拟环境 3.2 删除虚拟环境 3.3 查看虚拟环境 3.4 切换虚拟环境 3.5 退出虚拟环境 ...

  8. python搭建虚拟环境完整步骤

    文章目录 搭建虚拟环境完整步骤 一.什么是虚拟环境? 二.如何创建虚拟环境 三.安装Django 四.pycharm改变当前项目的运行环境 搭建虚拟环境完整步骤 一.什么是虚拟环境? python的虚 ...

  9. python查看虚拟环境列表_Python虚拟环境简明教程

    0. 什么是虚拟环境 依赖库冲突,或者说运行环境冲突,是开发人员经常遇到的很头疼的问题.虚拟环境,就是为了解决Python运行环境中的这个问题提供的一个方案. virtual environment, ...

  10. python安装虚拟环境virtualenv

    虚拟环境 虚拟环境是一个将不同项目所需求的依赖分别放在独立的地方的一个工具,它给这些工程创建虚拟的Python环境.它解决了"项目X依赖于版本1.x,而项目Y需要项目4.x"的两难 ...

最新文章

  1. 走进科学-小菌株大作为—枯草芽孢杆菌替代畜牧业抗生素添加
  2. IntelliLock托管代码保护和许可授权管理系统软件详细介绍及下载
  3. java调用微信扫一扫
  4. C#获取数据库表信息,列信息
  5. Spring Cloud(三) 熔断器Hystrix
  6. 安装python的twisted_如何在Python3.5上安装 Twisted(为了Scrapy)
  7. C语言试题七之将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。
  8. JPA休眠替代方案。 如果JPA或Hibernate对于我的项目而言不够好,该怎么办?
  9. react(97)--分支切换
  10. Android平台ROM的定制及精简教程
  11. H.266/VVC代码学习:xCheckRDCostAffineMerge2Nx2N函数
  12. 递归算法经典实例python-浅谈Python 递归算法指归
  13. 神经网络模型如何使用的,神经网络模型是干嘛的
  14. 真无线蓝牙耳机哪款好?国内真无线蓝牙耳机排行榜10强!
  15. Qt开发总结(19)——Qt Charts
  16. 调用Android原生裁剪方式裁剪图片并保存
  17. Latex输入分段函数
  18. 华清远见重庆分中心——前端阶段技术个人总结
  19. 解决ios手机vue H5页面输入键盘收起后页面回弹到顶部问题
  20. Vivado:【1】Vivado 2018.3 配置ModelSim仿真

热门文章

  1. python dlib 的安装
  2. pandas读取csv文件,变换文件格式,并转换成numpy数组,取出数据
  3. windows10下使用wget命令(安装失败,请大家提意见)
  4. tensoeflow 教程1、2
  5. 怎样理解公钥,私钥和数字签名
  6. 【英文文本分类实战】之三——数据清洗
  7. Kaldi aishell 200h小时训练问题集合
  8. centos7系统下scala安装详解
  9. mysql用户的创建和授权_MySQL用户创建和授权
  10. php 云片网对接,php调用云片网接口发送短信的实现方法