使用虚拟环境来管理python的包
1.背景
在开发python项目的过程中,我们会用到各种各样的包,我们使用pip来管理包,请看下图我们刚装好python解释器时已安装的包:

但是随着我们疯狂的使用pip install xxx后,系统中包的情况可能如下:

这个时候就会出现问题,有可能A项目需要的包,对B项目来说是会产生冲突的,这个时候我们自然而然地会想到为每一个项目独立地创建一个环境,它们之间彼此相互独立,互不影响,这个就是我们要讲的python虚拟环境。如下图所示:

这样每个项目就是一个虚拟环境(文件夹),python解释器会保持干净,不会随着项目的增加而变得杂乱无章。删除对应的项目后,该项目内的包也会被移除,不会遗留垃圾文件。讲了这么多了,接下来看看怎么创建和使用虚拟环境吧。
2.创建虚拟环境
在cmd中依次输入如下命令:
mkdir projectA
cd projectA
python -m venv env
注:因为python3自带创建虚拟环境的包venv,所以我们就不需要像以前一样专门下载一个叫virtualenv的包。
执行完上述代码,你会发现在你的projectA目录下会有一个env目录,这个env目录就是存放适用于我们当前项目的包的位置。你可以给你的虚拟环境起别的名字,我在这个起为env。

接下来让我们激活我们的虚拟环境,
window平台
env\scripts\activate
Linux/macOS
source env/bin/activate
成功激活后你会发现你的命令行前面会有一个(env)的提示,表明你当前正在虚拟环境。如下图所示:

接下来我们就可以放心大胆的适用pip来安装我们想要的包了,让我们来确认一下看包是否安装在了env目录中,看下图,

我们使用下面的命令就可以退出虚拟环境:
deactivate
好了,关于python虚拟环境的简单知识我们讲完了,尽可能地使用虚拟环境来保持我们全局地解释器干净。
使用虚拟环境来管理python的包的更多相关文章
- [pip]安装和管理python第三方包
使用 ”pip install 包名“ 直接下载安装第三方包 1.在以下地址下载最新的PIP安装文件:http://pypi.python.org/pypi/pip#downloads2.下载Wi ...
- python pipenv 包管理
原文链接:https://robots.thoughtbot.com/how-to-manage-your-python-projects-with-pipenv 翻译者:Jiong 在thought ...
- 使用pipenv管理python虚拟环境
前言 近期的项目中,我开始尝试着从virtualenv管理python虚拟环境,切换到用pipenv来管理. 经过一段时间的使用,着实觉得pipenv使用的更加顺手,更加的便捷.这当然也延续了 Ken ...
- 使用conda管理python环境和包
操作系统:CentOS7使用virtualenv管理python虚拟环境virtualenv是一款轻量级第三方虚拟环境管理工具,不像Anaconda大小达上百M,virtualenv大小只有10M左右 ...
- Python的包管理工具Pip (zz )
Python的包管理工具Pip 接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_ins ...
- Python的包管理
0.Python的包管理 在刚开始学习Python的时候比较头疼各种包的管理,后来搜到一些Python的包管理工具,比如setuptools, easy_install, pip, distribut ...
- python pip包管理
pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装.更新和卸载 python ...
- 使用virtualenvwrapper模块管理python虚拟环境
1.pip安装virtualenvwrapper [root@localhost ~]# pip install virtualenvwrapper # 安装virtualenvwrapper [ro ...
- 使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境
在上一篇博客中,我介绍了如何在ubutnu 18.04中安装pyenv.这一次我将介绍如何使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境. 0.相关命令 首先使用pye ...
随机推荐
- 人民网慕课联手FISCO BCOS开源社区上线“区块链学院”
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...
- jdk及tomcat的安装
Tomcat和JDK安装指南 1 JDK的安装 要运行JAVA程序,必须安装JDK(JAVA 开发包)的支持. 1.1 安装 1.J2SDK的安装比较简单,在安装盘目录下寻找“JDK安装程序”文件 ...
- $("body").animate({"scrollTop":top})无效的问题
问题 我在个人站点的左下角和右下角各自使用了如下代码来将页面滚动到顶部和底部: $("body").animate({scrollTop:0},800); $("body ...
- python进阶07 MySQL
python进阶07 MySQL 一.MySQL基本结构 1.认识MySQL #MySQL不是数据库,它是数据库管理软件 #MySQL如何组织数据 #如何进入MySQL数据库 #其他注意事项 #以表格 ...
- php:封装了个时间函数,返回类似“1分钟前发布”,“5小时前发布”,“3年前发布”
处理和时间有关的时候,像发布问题等通常不会用date格式的时间,而是用类似"3分钟前发布"等格式,下面封装的php函数就可以使用: 注意:当有用到strtotime()函数的记得加 ...
- python 1 学习廖雪峰博客
输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, world') p ...
- Even-odd Boxes hackerrank 分类讨论
https://www.hackerrank.com/contests/101hack50/challenges/even-and-odd-boxes/editorial 昨晚做的时候卡了挺久的. 首 ...
- (转)Module ngx_http_fastcgi_module
Example ConfigurationDirectives fastcgi_bind fastcgi_buffer_size fastcgi_buffering f ...
- C# 连接oracle,用32位client和64位Client,可能导致结果不同
在调用过程[pro_regentinitauth]时,有参数3-6为number类型,当我们用这样调用时,在32位client下,能正确得到输出参数3-6的结果为:1023, 但是,当我们把程序部署到 ...
- vue之store中属性更新用法
//1.首先定义store对象下的属性 state: { data:'测试数据' } // 2.定义更改data数据的方法 mutations: { updatedata(state, p) { st ...