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实现将n个点均匀地分布在球面上的方法
Mar 12 Python
Python基于回溯法子集树模板解决0-1背包问题实例
Sep 02 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
python画折线图的程序
Jul 26 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
Dec 30 Python
详解python读取image
Apr 03 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
序列化Python对象的方法
Aug 01 Python
Pygame如何使用精灵和碰撞检测
Nov 17 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
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
Vuex实现购物车小功能
2020/08/17 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
Python中最大递归深度值的探讨
2019/03/05 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
django框架F&Q 聚合与分组操作示例
2019/12/12 Python
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
机电一体化专业应届本科生求职信
2013/09/27 职场文书
法律进企业活动方案
2014/03/04 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
博士论文答辩开场白
2015/06/01 职场文书