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爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
Python实现购物车购物小程序
Apr 18 Python
python线程中同步锁详解
Apr 27 Python
详解python和matlab的优势与区别
Jun 28 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
Python3 利用face_recognition实现人脸识别的方法
Mar 13 Python
如何基于线程池提升request模块效率
Apr 18 Python
Python中socket网络通信是干嘛的
May 27 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
python安装第三方库如xlrd的方法
Oct 31 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
jquery tab标签页的制作
2010/05/10 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
python用Configobj模块读取配置文件
2020/09/26 Python
阿迪达斯比利时官方商城:adidas比利时
2016/10/10 全球购物
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
财会专业毕业生自荐信
2014/07/09 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
小学校园广播稿
2015/08/18 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js
Redis实现分布式锁的五种方法详解
2022/06/14 Redis
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers