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中实现php的var_dump函数功能
Jan 21 Python
python使用nntp读取新闻组内容的方法
May 08 Python
numpy matrix和array的乘和加实例
Jun 28 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
Python并发之多进程的方法实例代码
Aug 15 Python
Python寻找两个有序数组的中位数实例详解
Dec 05 Python
pytorch使用Variable实现线性回归
May 21 Python
深入了解Django View(视图系统)
Jul 23 Python
Django自带日志 settings.py文件配置方法
Aug 30 Python
浅析Python requests 模块
Oct 09 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
详解Python牛顿插值法
May 11 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
MySQL 日期时间函数常用总结
2012/06/12 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
vue实现文字加密功能
2019/09/27 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
Python全排列操作实例分析
2018/07/24 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
python序列类型种类详解
2020/02/26 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
Python tkinter实现日期选择器
2021/02/22 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
六查六看自查材料
2014/02/17 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers