Python虚拟环境virtualenv是如何使用的


Posted in Python onJune 20, 2021

了解虚拟环境

如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还使用上面的命令,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢?

解决方案:虚拟环境

那么什么是虚拟环境呢?

虚拟环境其实就是对真实 python 环境的复制,这样我们在复制的 python 环境中安装包就不会影响到真实的python环境。通过建立多个虚拟环境,在不同的虚拟环境中开发项目就实现了项目之间的隔离。

虚拟环境库的安装

我们这里使用 virtualenv 来创建虚拟环境。
pip 默认的源安装第三库会有点慢,可以配置一下其他的镜像源。

Windows上安装

cmd 窗口查看系统是否安装了virtualenv

virtualenv --version

pip 安装 virtualenv

pip3 install virtualenv
pip3 install virtualenvwrapper-win

virtualenvwrapper-win虚拟环境扩展包(指令便捷)

虚拟环境创建

cmd窗口 下创建 python3 虚拟环境 py_django

mkvirtualenv -p python3 py_django

Python虚拟环境virtualenv是如何使用的

注意:
Windows 创建的虚拟环境默认在 C:\Users\Administrator\Envs, Administrator 代表我当前电脑使用的用户你们的可能在其他用户下,如需指定创建的虚拟环境的存放的路径,可以在电脑的系统环境变量中添加WORKON_HOME 系统变量

Python虚拟环境virtualenv是如何使用的

Linux上安装

安装虚拟环境

sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

需保证 Linux上有 Python3的环境。
安装完虚拟环境后输入如下指令测试

mkvirtualenv test

如果提示找不到mkvirtualenv命令,须配置环境变量

# 1、创建目录用来存放虚拟环境
mkdir $HOME/.virtualenvs

# 2、打开~/.bashrc文件
vim ~/.bashrc

# 2.1 添加如下两行
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

# 3、运行
source ~/.bashrc

WORKON_HOME 存放虚拟环境目录位置可以自己单独设置。

创建虚拟环境

mkvirtualenv py_flask

进入虚拟环境

workon py_flask

退出虚拟环境

如果所在环境为真实环境,会提示deactivate:未找到命令

deactivate py_flask

虚拟环境指令

Windows 和 Linux 平台上的指令都一致。

Python虚拟环境virtualenv是如何使用的

注意:

先退出:deactivate
再删除:rmvirtualenv 虚拟环境名称

虚拟环境总结

一、使用虚拟环境不会让主解释器好多库乱

二、例如在单独的虚拟环境下安装 Flask,就知道在后续开发中所使用的所有库,用pip freeze命令就知道你的项目需要什么环境,而在主解释器有好多项目没用到的库。使用虚拟环境到部署到服务器上则方便环境配置,不需要一个一个筛选所需库。

在虚拟环境中利用

  • pip freeze 查看项目所需库环境。
  • pip freeze > requirements.txt导出项目所需库信息。
  • pip install -r requirements.tx批量安装项目所需库。

三、在同一台机器上开发多个项目,而遇到项目所需同一库的版本不一致。因此使用虚拟环境让每个项目独立隔离出来,可以单独使用不同版本库。

到此这篇关于Python虚拟环境virtualenv是如何使用的的文章就介绍到这了,更多相关Python虚拟环境virtualenv内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python opencv 直方图反向投影的方法
Feb 24 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
python实现五子棋小程序
Jun 18 Python
Python中调用其他程序的方式详解
Aug 06 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
Python如何将装饰器定义为类
Jul 30 Python
Python延迟绑定问题原理及解决方案
Aug 04 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 Python
Python制作一个随机抽奖小工具的实现
Jul 07 Python
Python机器学习之底层实现KNN
Jun 20 #Python
利用python进行数据加载
Jun 20 #Python
Python编解码问题及文本文件处理方法详解
浅谈Python协程asyncio
Jun 20 #Python
Python3接口性能测试实例代码
Jun 20 #Python
使用Djongo模块在Django中使用MongoDB数据库
python自动计算图像数据集的RGB均值
You might like
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
JavaScript获取网页中第一个图片id的方法
2015/04/03 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
python snownlp情感分析简易demo(分享)
2017/06/04 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
python yield和Generator函数用法详解
2020/02/10 Python
Python requests接口测试实现代码
2020/09/08 Python
python Scrapy框架原理解析
2021/01/04 Python
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
趣味游戏活动方案
2014/02/07 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
电子商务专业求职信
2014/03/08 职场文书
党员演讲稿
2014/09/04 职场文书
《角的度量》教学反思
2016/02/18 职场文书
我去timi了,一起去timi是什么意思?
2022/04/13 杂记