几分钟就能学会的Python虚拟环境教程
什么是虚拟环境
我们在使用Python的时候,通常用pip来进行包管理。比如我们要安装一个叫requests的库,那么我们就会采用以下命令去安装:
pip install requests
那你知道,这个requests被安装到哪里去了吗?
其实,这个requests库被安装到 Python安装目录/Lib/site-packages下面。要知道,site-packages是一个全局包路径。
啥意思呢?就是说,我安装的requests这个库对这台电脑的这个版本的Python都生效。
那这样会造成一个问题:
如果requests在1.0版本和1.1版本发生了较大变化,比如:
1.0版本的时候有个方法叫requests.get,到了1.1版本,这个包改名叫requests.got, 然后还支持了不少新特性。
如果我有一个很老的项目,一直用的是1.0的版本,而我现在写了一个新项目,又想用到1.1版本的最新特性。
那我如果只有一个版本的requests,我就没法兼容新项目和旧项目了。
所以我们有了虚拟环境的概念,其实也可以说是隔离环境。说简单点就是,这个python的库管理跟随你的项目走,你项目里就算用到100个库,也不会给你装到全局去,这样就隔离了全局的库。
安装virtualenv
而达到这样的目的,都是基于一款python的库: virtualenv。(它支持python2和3)
pip3 install virtualenv
tips: 有的python库,他不一定是给python代码调用的,你可以把它想象成一个可执行程序,比如我们常用的gunicorn,虽然是通过pip安装,但是安装好了之后它是一个可执行程序。

创建虚拟环境
安装好virtualenv以后,我们就可以来开辟一个虚拟环境,用于隔离全局的库了。
virtualenv venv
在我们的项目根目录下执行这个命令,可以看到一些提示:

启用虚拟环境
我们根目录下会多一个venv的文件夹,里面有点东西。

别急,我们还得先激活这个虚拟环境。
- Mac/Linux
source venv/bin/activate
- Windows
venv\Scripts\activate
其实可以看到,venv的Scripts里面有个activate.bat(激活虚拟环境脚本),而Unix系统下自带source,所以有些区别。

接着你就可以在虚拟环境畅游了,你所有安装/卸载的包都会在venv目录下被安排的服服帖帖的,不会被影响也不会影响到全局的库。
退出虚拟环境
source venv/bin/deactivate
- Windows
venv\Scripts\deactivate
用deactivate就好了,这样你的包管理又回到了全局,venv标识也消失不见了。

其实这个很像node_modules,node_modules在项目的根目录生成,并通过package.json进行包的版本管理,不影响全局模式,非常好用。
简单的说就是各玩各的,互不干扰!
标题从3分钟->5分钟,最后改为几分钟,你读完了么?反正我是读完了!
几分钟就能学会的Python虚拟环境教程的更多相关文章
- python虚拟环境配置(下)
前言 嘿,各位小伙伴们,晚上好呀,新年快乐,注意预防流感哈,就不要出去浪了,万一中奖了,嗯...,还是当个宅男,宅男无敌,哈哈哈, 过年了,村都被封了,哎,出都出不去,想着干点啥,就把以前没完善的继续 ...
- (zhuan)Python 虚拟环境:Virtualenv
Python 虚拟环境:Virtualenv zhuanzi: http://liuzhijun.iteye.com/blog/1872241 virtualenv virtualenv用于创建独立的 ...
- CentOS使用virtualenv搭建独立的Python环境-python虚拟环境
CentOS使用virtualenv搭建独立的Python环境-python虚拟环境 virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解 ...
- Python 虚拟环境Virtualenv
本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境 和 本地环境没有关系,随时可以删除这个隔离 ...
- 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...
- 10分钟 教你学会Linux/Unix下的vi文本编辑器
10分钟 教你学会Linux/Unix下的vi文本编辑器 vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结.不敢独享,和你们共享. 首先,记住v ...
- python虚拟环境Virtualenvwrapper无法升降级虚拟环境软件解决方法
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够在没有权限的情况下安装新套件,不同应用可以使用不同的套件版本,套件升级不影响其他应用. Virtaulen ...
- Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字
想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...
- python虚拟环境的使用
一. 安装 sudo apt-get install python-virtualenv 二. 创建环境 sudo virtualenv Myenv 创建完全隔离的Python环境,实质是创建了一个文 ...
随机推荐
- SQL server多表联合查询
参考网址: https://blog.csdn.net/zou15093087438/article/details/79226394 1. 外连接可分为:左连接.右连接.完全外连接. a. 左连接 ...
- android Handler消息通信
1 package com.example.testhandler; 2 3 import android.os.Bundle; 4 import android.os.Handler; 5 impo ...
- vue 优化hash持久化缓存
公司用的是vue最近在学习react的打包时发现react会额外生成一个runtimeChunk,不知道具体原因所以查资料学习了下, 这里是runtime的功能,文章地址:https://sebast ...
- 《网页布局基础篇》HTML+CSS单列布局--水平居中,垂直居中,水平垂直居中
https://blog.csdn.net/panlu666_pl/article/details/66480433 一.水平居中 子元素在父元素中水平居中 1.使用 text-align和inlin ...
- java对象的引用级别
解释 在java中也有引用的概念,其实就可以认为是变量.标题中的引用级别是指变量与对象之前的引用级别.java中分为4种,按引用强弱关系排序分别是:强引用.软引用.弱引用.虚引用. 强引用(Stron ...
- 5M1E,软件质量管理最佳解决方案
- 如何做好一个产品? - 用户.需求.文化.价值.设计.流程,这些因素缺一不可.- 那么,如何做好产品的质量管理?- 人.机器.物料.方法.环境.测量,这些因素同样缺一不可.能够影响产品质量波动的因 ...
- linux centos7 df命令
2021-08-04 1. df 命令简介 linux 中 df 命令的功能是用来检查 linux 服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信 ...
- 174道 JavaScript 面试题,助你查漏补缺
最近在整理 JavaScript 的时候发现遇到了很多面试中常见的面试题,本部分主要是作者在 Github 等各大论坛收录的 JavaScript 相关知识和一些相关面试题时所做的笔记,分享这份总结给 ...
- mybatis动态sql以及分页
1.mybatis动态sql 2.模糊查询 3.查询返回结果集的处理 4.分页查询 5.特殊字符处理 1.mybatis动态sql If.trim.foreach If 标签判断某一字段是否为空 &l ...
- epoll代码框架
epoll代码实现框架: #define MAX_EVENTS 10 struct epoll_event ev, events[MAX_EVENTS]; int listen_sock, conn_ ...