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字符串连接方式汇总
Aug 21 Python
python抽取指定url页面的title方法
May 11 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 Python
python两种注释用法的示例
Oct 09 Python
Python如何使用ConfigParser读取配置文件
Nov 12 Python
Django分页器的用法你都了解吗
May 26 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
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
PHP7内核之Reference详解
2019/03/14 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
js闭包实例汇总
2014/11/09 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
js实现录音上传功能
2019/11/22 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
python移位运算的实现
2019/07/15 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Python实现播放和录制声音的功能
2020/08/12 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
linux面试题参考答案(11)
2012/05/01 面试题
爱的奉献演讲稿
2014/09/10 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS