使用虚拟环境来管理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 ...
随机推荐
- Delphi调用C# 编写dll动态库
Delphi调用C# 编写dll动态库 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”项目WZPayDll, using System.Runtime.InteropServices ...
- puthon-进程间通信-队列和管道
********进程间通信-队列和管道******** ****进程间通信-队列和管道 IPC(Inter-Process Communication) ****队列 **概念介绍 创建贡献的进程队列 ...
- 牛客网Java刷题知识点之什么是匿名内部类、匿名内部类的使用原则、匿名内部类初始化、匿名内部类使用的形参为何要为final 和 案例
不多说,直接上干货! 什么是匿名内部类 匿名内部类就是没有名字的内部类. 不使用关键字class . extends .implements 没有构造函数 必须继承其他类或实现其他接口 正因为没有名字 ...
- Spring的配置及jar包下载
一.相关说明 IOC: Inversion of Control,控制反转,是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency In ...
- java 实现 excel sheet 拷贝到另一个Excel文件中 poi
public class CopyExcelSheetToAnotherExcelSheet { public static void main(String[] args) throws FileN ...
- iOS VIPER架构(一)
洋葱模型 洋葱模型,是从冰山模型上演变而来的,用来进行层次分析的模型,这是Redux的洋葱模型. action从最外层传入,层层传递直至核心后,经过逐层事件触发,再次被分发出来,执行后续操作. 洋葱模 ...
- Burpsuite Professional安装及使用教程
转自:https://www.jianshu.com/p/edbd68d7c341 1.先从吾爱破解论坛下载工具:https://down.52pojie.cn/Tools/Network_Analy ...
- python中的getcwd
Help on built-in function getcwd in module posix: getcwd(...) getcwd() -> path Return a ...
- JavaScript中函数对象和对象的区别
function Test (word) { console.log (word); } Test('哈哈,我是函数'); new Test('哈哈,我是对象'); //将以上的调用方式换种通俗易懂的 ...
- SQL Server 2016,2014 “无法找到数据库引擎启动句柄”
当我决定安装SharePoint 2016 IT预览版时,我想我应该将它安装在Windows Server 2016技术预览版以及SQL Server 2016社区技术预览版(CTP)上.我敢打赌,你 ...